Nummers maken met AI
Recepten
Een cover maken, voortbouwen op een nummer dat al bestaat, en om grepen vragen die je echt kunt spelen.
Een cover maken
De make_song-prompt doet dit in één stap; de meeste clients tonen hem als slash-commando. Met de hand:
song_formatencapabilities, zodat het model de vorm en de limieten kent.- Bepaal de toonsoort, het tempo en de secties, uit wat het model van de opname weet of uit een akkoordenschema, nooit uit songteksten. De prompt zegt dat ook: een tekstpagina vertelt niets wat een akkoordenschema niet vertelt, en een NØISE-nummer bevat geen tekst.
check_chordsop de akkoorden, tegen de toonsoort.chord_shapesvoor de grepen.build_song.
Vraag het model hoe zeker het is. De prompt draagt het dat op, want een toegegeven gok is bruikbaar en een zelfverzekerd fout akkoord niet.
Eén ding veranderen aan een bestaand nummer
Stuur het nummer als base en alleen de wijziging als changes. Zo hoeft het model nooit het hele akkoordenschema opnieuw op te schrijven, en juist daar gaat anders ongemerkt iets verloren.
{
"base": "noise://song?d=…",
"mode": "direct",
"changes": [
{ "op": "setSection", "index": 1, "patch": { "fillIn": "crash", "preset": "TIGHT", "energy": "lift" } }
]
}De operaties zijn setSong, setSection, addSection, removeSection, setBar en transpose. Een setSection-patch mag één veld van een blok instellen en de rest laten staan; setSong neemt de stijl, de kit en de eigen blokken van het nummer. Wijst iets naar een sectie of maat die niet bestaat, dan wordt het bij naam geweigerd in plaats van gegokt.
Het nummer zijn vorm geven
De band speelt uit zichzelf al een goede opbouw; de blokken zijn er voor wat dit nummer herkenbaar maakt. Lees het nummer zoals een drummer dat zou doen en verander zo weinig mogelijk:
"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"] }
]Zeven secties, de blokken op vier plekken aangeraakt: de refreinen komen binnen op een crash en spelen DRIVING, het tweede couplet landt zacht en vult zich weer in, de bridge trekt aan en gaat recht door naar het laatste refrein, de outro is de gitaar alleen. Al het andere volgt vanzelf. De handleiding van song_format heeft de regels hierachter — energie eerst, laat het couplet volgen, markeer de aankomsten, de fill is de weg naar buiten, een preset per soort sectie, feelwissels zijn zeldzaam, drums uit is echte stilte.
Het herbouwde nummer behoudt een sourceId dat naar het origineel wijst, zodat de afstamming bewaard blijft.
Transponeren
{ "base": "…", "changes": [{ "op": "transpose", "semitones": -2 }] }De toonsoort verschuift, absolute akkoorden schuiven mee en worden gespeld zoals de nieuwe toonsoort het wil. Trappen hoeven niet te veranderen: die volgen de toonsoort vanzelf.
Grepen schuiven met hun akkoord mee over de hals, behalve waar dat niet kan: een greep met een open snaar kan niet schuiven (onder de topkam is geen fret) en een greep die van de hals af zou lopen ook niet. Die vallen terug op de eigen greep van NØISE, en het antwoord zegt welke.
Om grepen vragen die je echt kunt spelen
{ "song": { … }, "fillGrips": true, "gripCategory": "open" }Elk akkoord zonder greep krijgt er een. Heeft de categorie niets voor een akkoord (Bm heeft geen open greep, het is een barréakkoord), dan valt de server terug op de standaardgreep van NØISE en zegt dat:
no open grip exists for Bm (easy), so the app's own default was usedVoortbouwen op een nummer van de website
Geef het publieke id van een nummer mee als base:
{ "base": "d_OxIkOTen", "changes": [{ "op": "setSong", "patch": { "bpm": 96 } }] }Alleen gepubliceerde nummers zijn zo te lezen.
Schrijf het zoals een muzikant
Sinds 0.71 werken drie notaties uit de schematekst ook in de maten van build_song, en de band speelt alle drie:
- Een dalende baslijn:
["C", "C/B", "Am", "Am/G"], of, transponeerbaar,{"degree": 1},{"degree": 1, "bass": "7"},{"degree": 6},{"degree": 6, "bass": "5"}. De bas is een trap van de toonsoort; een nootnaam ("bass": "E") kan ook. - Een refrein dat vroeg invalt:
"^G"op zijn eerste akkoord; de band slaat het een achtste vóór de maat aan en houdt het vast."^^G"is een zestiende te vroeg. - Een wissel op tel 4:
["C(3)", "G(1)"]in één maat.
Een nummer met capo krijgt "capo": 2 op het nummer en zijn akkoorden zoals de handen ze spelen: Wonderwall is Em-grepen met een capo op 2, en de band van NØISE laat het in F♯ mineur klinken.