Faire des morceaux avec une IA
Recettes
Faire une reprise, construire sur un morceau qui existe déjà, et demander des doigtés que tu peux vraiment jouer.
Faire une reprise
Le prompt make_song fait ça en une étape ; la plupart des clients le montrent comme commande slash. À la main :
song_formatetcapabilities, pour que le modèle connaisse la forme et les limites.- Trouver la tonalité, le tempo et les sections : d'après ce que le modèle sait de l'enregistrement ou d'après une grille d'accords, jamais d'après les paroles. Le prompt le dit aussi : une page de paroles n'apprend rien qu'une grille ne dise déjà, et un morceau NØISE n'en contient pas.
check_chordssur les accords, contre la tonalité.chord_shapespour les doigtés.build_song.
Demande au modèle de dire à quel point il est sûr. Le prompt le lui dit, parce qu'une supposition avouée est utile et qu'un accord faux affirmé ne l'est pas.
Changer une chose dans un morceau existant
Envoie le morceau comme base et seulement le changement comme changes. Le modèle n'a ainsi jamais à réécrire toute la grille, et c'est là que des choses disparaissent sans bruit.
{
"base": "noise://song?d=…",
"mode": "direct",
"changes": [
{ "op": "setSection", "index": 1, "patch": { "fillIn": "crash", "preset": "TIGHT", "energy": "lift" } }
]
}Les opérations sont setSong, setSection, addSection, removeSection, setBar et transpose. Un patch setSection peut régler un seul champ d'une ligne et laisser le reste ; setSong prend le style, le kit et les lignes propres au morceau. Tout ce qui vise une section ou une mesure qui n'existe pas est refusé, nommément, au lieu d'être deviné.
Le morceau reconstruit garde un sourceId qui pointe vers l'original : la filiation survit.
Donner sa forme au morceau
Le groupe joue un bon arrangement par lui-même ; les rangées DRUMS et JAM servent à ce qui rend ce morceau reconnaissable. Lis le morceau comme le ferait un batteur, et touche le moins possible :
"style": "rock", "kit": "rock.clean", "preset": "LAID BACK",
"sections": [
{ "name": "INTRO", "energy": "hold", "bars": ["G", "B", "C", "Cm"] },
{ "name": "VERSE", "repeats": 2, "bars": ["G", "B", "C", "Cm"] },
{ "name": "CHORUS", "energy": "lift", "fillIn": "crash", "preset": "DRIVING", "colorLayer": true, "bars": ["G", "B", "C", "Cm"] },
{ "name": "VERSE", "fillIn": "splash", "fillOut": "fill", "bars": ["G", "B", "C", "Cm"] },
{ "name": "CHORUS", "energy": "lift", "fillIn": "crash", "preset": "DRIVING", "colorLayer": true, "bars": ["G", "B", "C", "Cm"] },
{ "name": "BRIDGE", "energy": "groove", "preset": "TIGHT", "fillOut": "none", "bars": ["G", "B", "C", "Cm"] },
{ "name": "OUTRO", "energy": "hold", "drumsOff": true, "bars": ["G", "B", "C", "Cm"] }
]Sept sections, les lignes touchées à quatre endroits : les refrains arrivent sur un crash et jouent DRIVING, le deuxième couplet retombe en douceur et remplit pour revenir, le pont se resserre et va droit dans le dernier refrain, l'outro laisse la guitare seule. Tout le reste suit. Le guide song_format porte les règles derrière ce choix — l'énergie d'abord, laisse le couplet suivre, marque les arrivées, le fill est la sortie, un preset par type de section, les changements de feel sont rares, la batterie coupée est un vrai silence.
Transposer
{ "base": "…", "changes": [{ "op": "transpose", "semitones": -2 }] }La tonalité bouge, les accords absolus bougent avec elle, et ils sont réécrits comme la nouvelle tonalité le veut. Les degrés relatifs à la tonalité n'ont besoin de rien : ils suivent la tonalité d'eux-mêmes.
Les doigtés montent ou descendent sur le manche avec leur accord, sauf là où c'est impossible : un doigté avec une corde à vide ne peut pas bouger (il n'y a pas de case sous le sillet), et un doigté qui sortirait du manche non plus. Ceux-là retombent sur le doigté de NØISE lui-même, et la réponse dit lesquels.
Demander des doigtés que tu peux vraiment jouer
{ "song": { … }, "fillGrips": true, "gripCategory": "open" }Chaque accord sans doigté en reçoit un. Là où la catégorie n'a rien pour un accord (Bm n'a pas de doigté ouvert, c'est un barré), il retombe sur le défaut de NØISE et te le dit :
no open grip exists for Bm (easy), so the app's own default was usedConstruire sur un morceau de la bibliothèque du site
Passe l'id public d'un morceau comme base :
{ "base": "d_OxIkOTen", "changes": [{ "op": "setSong", "patch": { "bpm": 96 } }] }Seuls les morceaux publiés peuvent être lus ainsi.
L'écrire comme un musicien
Depuis 0.71, trois notations du texte de grille fonctionnent dans les mesures de build_song, et le groupe joue les trois :
- Une basse descendante :
["C", "C/B", "Am", "Am/G"]– ou, pour rester transposable,{"degree": 1},{"degree": 1, "bass": "7"},{"degree": 6},{"degree": 6, "bass": "5"}. La basse est un degré du ton ; un nom de note ("bass": "E") marche aussi. - Un refrain qui attaque en avance :
"^G"sur son premier accord – le groupe le frappe une croche avant la mesure et le tient."^^G"est une double-croche en avance. - Un changement sur le quatrième temps :
["C(3)", "G(1)"]dans une mesure.
Un morceau joué avec capo prend "capo": 2 sur le morceau et ses accords tels que les mains les jouent – Wonderwall, ce sont des positions de Em avec un capo en 2, et le groupe de NØISE le fait sonner en fa♯ mineur.