Crea brani con l'IA
Gli strumenti
Ogni strumento che il server dei brani di NØISE offre, cosa prende e cosa restituisce.
Sette strumenti. Prima song_format, poi quello che serve al lavoro.
song_format
Nessun argomento. Restituisce tutto il formato in una volta: la forma che build_song prende, come si scrivono battute e accordi, ogni stile con i suoi groove, i suoi kit e il suo genere di batteria, cosa può dire una sezione alla band (la corsia DRUMS con le sue parole per il piatto e il fill e i sette preset, la corsia JAM), come usare la band come farebbe un batterista, ogni energia, colore e accordatura, la notazione delle forme, e i limiti.
È disponibile anche come risorsa noise://format/guide, così un client che supporta le risorse può tenerlo in contesto senza chiamare uno strumento. La metà leggibile da una macchina è noise://format/vocabulary.
capabilities
Nessun argomento. Cosa NØISE può e non può fare, e quali campi cambiano davvero qualcosa quando un brano si carica.
check_chords
{ "chords": ["Am", "F", "E7", "Bm7b5"], "key": "Am" }Per ogni accordo: se NØISE riesce a leggerlo e dove si rompe se no, la grafia canonica, se è diatonic, borrowed o outside rispetto alla tonalità, e se esiste una forma sulla chitarra.
Am -> Am (diatonic), grip xxx555
F -> F (diatonic), grip xx3211
E7 -> E7 (borrowed), grip 020100
Bm7b5 -> Bm7b5 (diatonic), no guitar gripL'ultima riga merita attenzione: l'accordo è perfettamente ammesso, sta nella tonalità e suona. Solo che NØISE non ha nessuna forma in libreria per un m7b5, quindi il manico non mostra niente a meno che tu non dichiari una forma tua.
chord_shapes
{ "chords": ["F"], "category": "easy", "limit": 1 }Forme vere dalla libreria di NØISE, disegnate:
F - EASY - xx3211 - F easy (xx3211)
1 2 3 4
e · 1 · · ·
B · 1 · · ·
G · · 2 · ·
D · · · 3 ·
A x · · · ·
E x · · · ·Ognuna arriva con un tag che puoi mettere direttamente in build_song. Le categorie sono easy, open, barre, power e triads; passa una tuning e le forme vengono derivate per quella (un'accordatura open non ne ha, e la risposta lo dice invece di tornare vuota).
Usa questo invece di inventare numeri di tasto. Un modello che tira a indovinare i tasti è il modo più facile in assoluto per produrre un brano che sembra giusto e non si può suonare.
build_song
Quello principale. Prende un brano, o una bozza parziale più un mode, o un brano esistente su cui costruire:
{
"mode": "direct",
"song": {
"name": "What's Up",
"author": "4 Non Blondes",
"key": "A",
"bpm": 132,
"style": "rock",
"sections": [
{ "name": "VERSE", "repeats": 2, "bars": ["A", "Bm", "D", "A"] },
{ "name": "CHORUS", "energy": "lift", "fillIn": "crash", "fillOut": "fill", "preset": "DRIVING", "bars": ["A", "Bm", "D", "A"] }
]
}
}Restituisce il link al file .noisesong, la pagina del brano, un riepilogo, il documento e gli eventuali avvisi; un link noise:// solo con link: true. fillGrips: true mette una forma di libreria su ogni accordo che non ne ha; aggiungi gripCategory per dire di che tipo.
Tutto quello che il server non ha potuto usare torna come avviso con quello che ha usato al suo posto: un groove sconosciuto, un bpm fuori da 20-300, un kit che non appartiene allo stile, un nome di preset che non conosce, una parola per il piatto che l'app non suona ancora. Non cambia mai il tuo brano in silenzio. Una sezione che dà un band, un jamKit o un genere drums suo viene rifiutata, con il posto nuovo indicato: un brano è una band sola con un kit solo, e una sezione dice come suona quella band (feel, fillIn, fillOut, preset, le manopole, drumsOff).
validate_song
Gli stessi controlli, senza domande e senza link. Per iterare finché il brano è giusto senza lasciare niente in giro.
load_song
{ "source": "noise://song?d=…" }Legge un brano esistente (un documento .noisesong, un link noise:// o un id della libreria della community) nella stessa forma che build_song prende. Lo schema esce dall'andata e ritorno intatto, quindi puoi cambiare una cosa sola e ricostruirlo. Vedi Ricette.