Brani e condivisione
Il formato testo dei brani
Il formato testo dei brani che il sito mostra e IMPORTA legge. Tutta la grammatica, ogni token, ogni errore.
Un brano NØISE si può scrivere in poche righe di testo. Il sito mostra i brani in questa forma, e l'app legge il testo con IMPORTA: scegli un file di testo nel pannello file. Il testo è fatto per essere incollato in una chat, in una mail o in un forum, e per uscirne intatto.
Questa pagina è il riferimento della grammatica. È verificata contro il parser dell'app (ChartTextFormat nel package NOISETheory) e contro i test di andata e ritorno che lo proteggono.
Un esempio completo
NOISE SONG 1
name: Amber Skyline
author: NØISE
notes: Demo song for the website — sparse intro, a lift, a swung stop-time bridge
style: rock
kit: rock.classic
feel: straight
preset: LAID_BACK
bpm: 112
key: Am
end: once
[INTRO x2 energy=sparse color=cyan fillin=none]
| Am | - | F | G |
[VERSE x2 fill]
| Am | F | C | G |
| Am | F | C(2) G(2) | G |
[CHORUS x2 energy=lift color=orange fillin=crash preset=DRIVING rhythm=on]
| F | G | Am | Am |
| F | G | C | E7 |
[BRIDGE energy=stop color=magenta feel=halfTime fillout=none]
| Dm7 | G7 | Cmaj7 | Bm7b5(2) E7(2) |
| N.C. |Esistono tre tipi di riga: le righe di intestazione (key: value), le intestazioni di sezione ([NAME …]) e le righe di battute (| … |). Le righe vuote e quelle che iniziano con # vengono ignorate, e così la riga di firma NOISE SONG 1.
Tipi di riga
La firma
NOISE SONG 1La prima riga. Il parser salta qualunque riga che inizi con NOISE SONG (maiuscole o minuscole non contano), quindi la firma è facoltativa quando scrivi un brano a mano. Tienila: dice alle persone (e al sito) cos'è quel testo.
Righe di intestazione
Una riga di intestazione è key: value. Le chiavi non distinguono maiuscole e minuscole; il valore arriva fino a fine riga. Vengono in questo ordine; i valori vuoti restano fuori:
| Chiave | Significato | L'app la scrive come |
|---|---|---|
name | Il nome del brano. Se manca, il brano viene importato come Imported song. | testo libero |
notes | Note libere sul brano. In lettura description è accettato come alias. Gli a capo diventano spazi. | testo libero |
author | Chi ha scritto lo schema. | testo libero |
style | Lo stile JAM dell'intero brano. L'id dello stile in minuscolo: pop, rock, blues, jazz, hiphop, funk, metal. Il genere della batteria segue da lì. Un valore sconosciuto viene scartato, non è un errore. | id dello stile |
kit | L'unico kit JAM dell'intero brano (un id di kit valido per lo stile). Opaco. | id del kit |
| le righe di corsia | Le corsie DRUMS e JAM del brano: da cosa parte ogni sezione, con le stesse parole di un'intestazione di sezione, una per riga: feel:, fillin:, fillout:, variation:, preset:, denergy:, swing:, humanize:, live:, intensity:, colorlayer:, rhythm:, drums: off. Vedi Intestazioni di sezione per ognuna. | es. feel: halfTime, preset: LAID_BACK |
bpm | Il tempo. All'import viene limitato a 20-300. Non numerico: ignorato. | intero |
tuning | L'accordatura per cui il brano è scritto. Come i campi della band, questa viene applicata alla sessione quando il brano si carica: la band si intona sull'accordatura del brano. | standard, dropD, halfStepDown, fullStepDown, dropC, openG, openD, dadgad |
capo | Il tasto su cui sta il capotasto del brano, 0–9 (dalla 0.71). Applicato al caricamento, come l'accordatura: assente o 0 vuol dire nessun capotasto, e caricare il brano lo toglie. Lo schema resta nella tonalità delle forme; la band suona di tanti tasti più in alto. | intero |
seed | Il seed di groove dell'autore: il numero intero da cui la band tira le sue scelte (quali battute, quali fill, quali note di approccio), così il brano suona uguale ovunque. Scritto solo quando c'è; sopravvive all'andata e ritorno e non viene mai inventato. | intero |
key | La tonalità scritta dello schema. Le caselle a gradi si risolvono su quella tonalità. Vedi Tonalità. Sconosciuta: errore. | Am, F#, Bb … |
end | once (oppure end) fa suonare il brano una volta e poi lo ferma; qualunque altra cosa, o nessuna riga end, significa loop senza fine. | once |
Qualunque altra chiave viene letta e scartata, quindi puoi aggiungere le tue (source: …) senza rompere l'import; solo che non sopravvive all'andata e ritorno.
Nota
key ed end finiscono nello schema stesso; tutto il resto sono metadati del brano. Anche senza la riga key un brano si importa: le sue caselle a gradi vengono allora risolte in C maggiore per la visualizzazione, e quando suona seguono il modulo TONALITÀ.
Tonalità
key: prende una tonica e, se vuoi, un modo. Le grafie accettate:
- Tonica:
C D E F G A Bcon#/♯oppureb/♭. Bemolli e diesis finiscono sulla stessa nota (Bb=A#); in scrittura escono i diesis (C#,F#m). - Minore: una
m,min,minor,minominorin coda:Am,A min,A minor. - Maggiore: niente, oppure
maj/major/maj/major:G,G major.
Esistono solo maggiore e minore come modi, nel formato testo come nel modulo TONALITÀ.
Intestazioni di sezione
[VERSE x2 energy=lift color=orange feel=shuffle fillin=crash fill preset=DRIVING rhythm=on]L'intestazione è una riga […]; le parti dentro sono separate da spazi singoli. La prima parte è il nome. Nella forma testo un nome non può contenere spazi, quindi VERSE TWO si scrive VERSE_TWO, e all'import i trattini bassi ridiventano spazi. Un nome vuoto diventa SECTION.
Ogni altra parte è facoltativa e può stare in qualunque ordine:
| Parte | Significato | Valori |
|---|---|---|
xN | Le volte. Limitate a 1-16. | x2, x4 |
energy= | L'energia della sezione. Valore sconosciuto: base. | base, lift, groove, hold, riff, sparse, stop |
color= | Il tag del colore mostrato. | cyan, orange, magenta, green, … (opaco; l'app lo porta sulla sua palette) |
| la corsia DRUMS | ||
drums=off | Il kit tace in questa sezione (spazio da solista); drums=on dice il contrario esplicitamente. | off, on |
feel= | Il groove di batteria e band, dai feel dello stile del brano. | un tag GrooveFeel, ad esempio swing, shuffle, halfTime, straight |
fillin= | Il piatto sull'uno della sezione. | crash, splash, none, choke |
fillout= | Cosa fa il kit sull'ultima battuta della sezione: decide l'arrangiamento, sempre un fill, mai, oppure un fill della banca del genere per nome. | auto, fill, none, break, un nome |
fill | Lo stesso di fillout=fill (il vecchio flag FILL). | flag, senza valore |
variation= | Gli strati dello stile, separati da virgola. Portati; ancora senza parole. | ride,ghosts+ |
preset= | Il preset DRUMS per nome; gli spazi diventano underscore. | STOCK, TIGHT, DRIVING, LAID_BACK, LOOSE, SMOKY, QUIET, CUSTOM |
denergy= | Quanto forte suona il kit, 0-1 (drumenergy= si legge ancora). | 0.75 |
swing= | La griglia, da 0 dritto a 1 terzinato pieno, 0-1. | 0.5 |
humanize= | Quanto oscilla una mano intorno alla parte, 0-1. | 0.3, 1 |
live= | Quanto dettaglio scritto viene rivelato, 0-1. | 0.25 |
| la corsia JAM | ||
rhythm= | La chitarra ritmica accesa o spenta per questa sezione. | on, off |
intensity= | L'intensità della band per questa sezione. Limitata a 0-1. | 0.5 |
colorlayer= | Il quarto strumento, il colore, acceso o spento per questa sezione. | on, off |
Una sezione non porta né stile, né kit, né genere di batteria: drums=ROCK, band=rock e kit= su una riga di sezione sono spariti (una chiave sconosciuta viene ignorata, quindi un testo vecchio si importa lo stesso, senza quelli). Le parti senza = che non sono xN o fill, e le parti key=value con una chiave sconosciuta, vengono ignorate. In scrittura escono solo le parti che una sezione imposta, quindi [VERSE] è un'intestazione completa: tutto quello che lascia fuori segue la sezione prima, poi il brano.
Cosa fanno le sette energie alla band e alla batteria è spiegato in Energia e impostazioni per sezione.
Righe di battute
| Am | F | C(2) G(2) | G |
| - |Una riga di battute inizia con |: è da quel primo carattere che il parser riconosce la riga, quindi è obbligatorio. Le battute sono separate da |; il | finale si può omettere. Dopo un'intestazione di sezione possono venire più righe di battute, e le battute continuano da una riga all'altra (un | - | sulla riga dopo allunga l'ultimo accordo della riga prima). Righe di battute prima di qualunque intestazione di sezione sono un errore.
Dentro una battuta i token sono separati da spazi. Le regole, in ordine:
- Un token, senza
(beats): l'accordo riempie tutta la battuta. - Più token, nessuno o solo alcuni con
(beats): la battuta si divide in parti uguali.| D Em |in 4/4 sono due movimenti ciascuno; anche| C(2) G |sono due movimenti ciascuno. I movimenti espliciti contano solo quando ogni token della battuta ne ha uno. - Ogni token ha
(beats): ogni accordo dura esattamente quei movimenti.| C(1) D(3) |è un movimento di C e tre di D. Un token può durare più di una battuta:| G(8) |è un G di due battute. I movimenti che sommano a battute intere diventano durate di battute intere. Una sezione non deve per forza arrivare a battute intere; l'editor mostra quel totale in ambra. -o%da solo in una battuta: continuazione, l'accordo precedente dura una battuta in più. Una continuazione senza accordo precedente è un errore.N.C.,NC,RESToN(maiuscole o minuscole): una battuta di pausa (nessun accordo). La band e la batteria la trattano come silenzio, vedi Energia e impostazioni per sezione.- Un accento circonflesso anticipa (dalla 0.71):
^Gviene attaccato un ottavo prima,^^Gun sedicesimo, e tenuto oltre la stanghetta. L'accento si lega al token (^Am(2),^IV@x35553(2)) e cade su una pausa o un%. Posto e durata dell'accordo non si muovono; solo l'attacco della band.
Attenzione
In questo formato % significa “un'altra battuta dello stesso accordo”, come -. Non è una casella “ripeti l'accordo precedente” a sé: uno schema che contiene una casella di ripetizione viene scritto con %, e rileggendolo si ottiene un accordo precedente più lungo. Il risultato suona identico.
Il numero in (beats) viene interpretato sulla metrica con cui il testo viene letto. Il testo viene sempre scritto e letto a 4 movimenti per battuta; una sessione in 3/4 o 6/8 non cambia il testo.
I token degli accordi
Un token di accordo è un grado (numero romano, relativo alla tonalità, si trasporta con lei) oppure un simbolo di accordo assoluto (un accordo letterale). I due tipi si possono mischiare nella stessa battuta.
Un token può portare la forma sulla chitarra che hai scelto, dopo una @: Em@x32010, oppure C@x35553(2) quando la battuta è suddivisa. La forma sono sei tasti dalla corda più grave alla più acuta, con x per una corda stoppata; i tasti da 10 in su hanno bisogno di separatori (8-10-10-9-8-8) e @n in coda dichiara un tasto di partenza che non si può dedurre (x24442@2). Una forma che non si riesce a leggere viene scartata, e l'accordo viene letto. Le pause e le ripetizioni non ne portano mai una.
Il parser decide così: se il token inizia con uno tra I V i v b # 1 2 3 4 5 6 7 e si legge come numero romano, è un grado. Altrimenti viene letto come simbolo di accordo. Quindi Bb7 (inizia con B) è sempre un simbolo di accordo, mentre bVII è un grado; V7 è un grado, E7 è un simbolo di accordo.
Gradi (numeri romani)
I ii IV V vi bVII #iv IIm7 V7 IVmaj7 V/V V7/vi 1 4 5- Numero:
I II III IV V VI VIIoppure le cifre da1a7. - Maiuscole e minuscole: un numero maiuscolo senza qualità è una triade maggiore, uno minuscolo senza qualità è una triade minore (
ii=IIm). Minuscolo più7è una settima minore (ii7=IIm7). Appena scrivi una qualità esplicita, maiuscole e minuscole non contano più. - Alterazione: una
b/♭davanti abbassa il grado di un semitono (bVII,bIII), un#/♯davanti lo alza (#iv). - Qualità e alterazioni: qualunque suffisso di simbolo di accordo della tabella più sotto (
maj7,m7b5,7#9,sus4,dim,add9, …), scritto subito dopo il numero. Internamente il suffisso viene letto come se seguisse una fondamentaleC. - Dominante secondaria:
V/x. La parte prima di/deve essereV; la parte dopo è il grado a cui punta (V/V,V7/vi,V/II). Le dominanti secondarie si scrivonoV/+ destinazione. - Basso con barra (dalla 0.71): un grado della tonalità dopo l'ultima
/, alla Nashville:I/3(C/E in C, A/C♯ in A),V/7,IV/#4,I/b7, oppure un nome di notaI/E. Anche una dominante secondaria può portarlo:V/II/3. Il parser legge l'ultima/: una cifra (conb/#) o una lettera di nota è un basso, una coda romana è un grado di destinazione. Quindi unV/5scritto a mano ora significa «V con il quinto grado al basso»; l'app non ha mai scritto quella forma, eV/Vnon cambia. La band suona il basso. - Un grado senza qualità esplicita (
I,IV) prende la qualità dalla tonalità quando suona: la triade diatonica di quel grado della scala, o una settima quando lo stile JAM preferisce le settime.
I gradi vengono riscritti in forma canonica: numero maiuscolo, e qualità esplicita appena ce n'è una (Imaj, IIm7, Vmaj, bVIImaj, V/V); un grado senza qualità resta com'è (I). Così uno schema non dipende mai da maiuscole e minuscole quando viene riletto. Qualunque cosa scrivi nella forma corta torna, dopo andata e ritorno, allo stesso accordo.
Simboli di accordo assoluti
C Am F#m7 Bb7 Cmaj7 Dm7b5 G7b9 E7#9 Asus4 Cadd9 C6/9 Bdim7 Ebaug D/F# E5 N.C.Un simbolo di accordo è fondamentale · qualità · modificatori · alterazioni · /bass facoltativo. Le regole che contano:
- Fondamentale: una lettera da
AaG(maiuscola o minuscola) con al massimo due#/♯ob/♭, oppurexper il doppio diesis. In posizione di fondamentale labappartiene sempre alla lettera: inBb7il bemolle è della fondamentale. Le alterazioni con il bemolle (b5,b9,b13) vengono riconosciute solo dopo una qualità (C7b9). - Qualità (vince la corrispondenza più lunga): vedi la tabella.
-subito dopo la fondamentale significa minore (C-7);-prima di una cifra, più avanti, significa bemolle (C7-9).M,maj,Δvengono controllati prima dellamminuscola.susda solo èsus4.6/9è una sesta e una nona aggiunte, non un accordo con basso.altè7#5#9. - Alterazioni: scritte una dietro l'altra, senza parentesi:
G7b9#11. In una riga di battute le parentesi significano(beats):C7(b9,#11)viene letto come un sempliceC7, eCm(maj7)comeCm. - Basso:
/seguito da una nota.D/F#,C/E,Am/G. Il basso deve essere una nota semplice;/9dopo una qualità è invece una nona aggiunta. Dalla 0.71 la band lo suona – il bassista, la walking line e il pad – dove prima era solo mostrato. - Pause:
N.C.,NC,REST,N.
I token di qualità riconosciuti e cosa diventano:
| Scrivi | Tipo di accordo | Simbolo che l'app scrive |
|---|---|---|
(niente), maj, 6 (aggiunge la sesta), add11, add13 (aggiunge la sesta) | triade maggiore | C, C6, Cadd11 |
m, min, -, m6 (aggiunge la sesta) | triade minore | Cm, Cm6 |
dim, ° | triade diminuita | Cdim |
aug, + | triade aumentata | Caug |
sus2 | seconda sospesa | Csus2 |
sus4, sus | quarta sospesa | Csus4 |
5 | power chord | C5 |
maj7, ma7, M7, Δ7, Δ | settima maggiore | Cmaj7 |
m7, min7, -7 | settima minore | Cm7 |
7, alt (aggiunge #5 #9) | settima di dominante | C7, C7#5#9 |
dim7, °7, o7 | settima diminuita | Cdim7 |
m7b5, m7♭5, ø, ø7 | settima semidiminuita | Cm7b5 |
mM7, mMaj7, m(maj7) | minore con settima maggiore | CmM7 |
aug7, +7 | settima aumentata | Caug7 |
add9 | nona aggiunta | Cadd9 |
maj9 / m9, min9, -9 / 9 | maggiore 9 / minore 9 / dominante 9 | Cmaj9, Cm9, C9 |
maj11 / m11, min11, -11 / 11 | maggiore 11 / minore 11 / dominante 11 | Cmaj11, Cm11, C11 |
maj13 / m13, min13, -13 / 13 | maggiore 13 / minore 13 / dominante 13 | Cmaj13, Cm13, C13 |
I token di alterazione (dopo una qualità): b5 #5 b9 #9 #11 b13 (anche con ♭/♯, oppure -5 +5 -9 +9 +11 -13), add2/add9, add4/add11, add6/6/add13, /9, no3/omit3, no5/omit5, e sus2/sus4 come note aggiunte dopo una qualità.
Gli accordi assoluti vengono riscritti come root + symbol + alterations + /bass con la terza colonna della tabella (Bb7, F#m7b5, D/F#). Una casella a gradi ricorda anche, come testo mostrato, l'accordo che suona nella tonalità scritta.
Le durate nel testo e nell'editor
L'editor offre durate di battute intere e durate sotto la battuta di 1, 2 o 3 movimenti. Nel testo ogni durata si esprime con le regole di battuta qui sopra:
| Editor | Testo (4/4) |
|---|---|
| un accordo di 1 battuta | | C | |
| un accordo di 2 battute | | C | - | |
| due accordi di 2 movimenti | | C G | oppure | C(2) G(2) | |
| 1 movimento + 3 movimenti | | C(1) G(3) | |
| 3 movimenti + 1 movimento, poi una battuta | | C(3) G(1) | Am | |
| una battuta di pausa | | N.C. | |
| una sezione vuota | | N.C. | (viene scritta una battuta di pausa, così la sezione non si perde) |
Gli accordi sotto la battuta vengono scritti con i movimenti espliciti e raggruppati finché non riempiono una battuta; un accordo che scavalca il confine di una battuta viene scritto come accordo di battuta intera seguito da continuazioni -.
Errori
La lettura si ferma al primo problema. Ogni errore porta il numero di riga (a partire da 1, contando ogni riga del testo, firma e righe vuote comprese) e un motivo. Quando un import fallisce l'app mostra tutti e due, in inglese: Line 7: unexpected line.
| Motivo (testuale) | Causa | Rimedio |
|---|---|---|
section header missing ] | Una riga inizia con [ ma non finisce con ]. | Chiudi la parentesi; un'intestazione deve stare su una riga sola. |
chords before any [SECTION] | Una riga | … | compare prima della prima intestazione di sezione. | Aggiungi una riga [NAME] sopra le battute. |
unknown key <value> | Il valore di key: non è una tonica/modo riconosciuti. | Usa Am, F#, Bb major, … |
unexpected line | Una riga non vuota che non è un'intestazione (key: value), un'intestazione di sezione o una riga di battute: per esempio una parola sperduta, o una riga di battute che ha perso il | iniziale. | Fai iniziare i commenti con #. Controlla che le righe di battute inizino con |. |
continuation with no previous chord | - o % nella prima battuta del brano, o subito dopo un'intestazione di sezione senza un accordo prima. | Scrivi l'accordo al posto del trattino. |
cannot read chord "<token>" (<detail>) | Un token non è né un numero romano né un simbolo di accordo. <detail> è uno tra emptyInput, unknownRoot, unknownQuality, badBass, trailingGarbage. | Controlla la grafia contro le tabelle qui sopra. I colpevoli tipici: H al posto di B, gli spazi in Cmin7b5, un suffisso non supportato come C7sus, o un basso che non è una nota (C/x). |
no sections (riga 0) | Il testo non contiene nessuna intestazione […]. | Aggiungi almeno una sezione con delle battute. |
Le righe di intestazione key: value non sono mai un errore, tranne key. Le parti sconosciute di un'intestazione di sezione, le energie sconosciute e gli stili sconosciuti vengono ignorati in silenzio, e il brano si importa.
Limiti
Vengono dal modello dello schema e valgono per l'import del testo come per l'editor:
- al massimo 24 sezioni per brano (il limite dell'editor; un file con più sezioni viene letto per intero),
- al massimo 32 caselle di accordo per sezione,
- da 1 a 16 volte (
xNviene limitato), - un singolo accordo dura al massimo 32 battute,
bpmè limitato a 20-300.
Scrivere il testo a mano
Il brano valido più corto è una riga di intestazione e una riga di battute:
[A]
| G | D | Em | C |Aggiungi name: e key: ed è pronto da condividere:
NOISE SONG 1
name: Four chords
key: G
[LOOP]
| I | V | vi | IV |Salvalo come file di testo e portalo dentro con IMPORTA (vedi Importa). Siccome gli accordi sono gradi, lo stesso testo suona in qualunque tonalità tu scelga nel modulo TONALITÀ.