NØISEFR

Morceaux et partage

Format texte d'un morceau

Le format texte brut que le site affiche et qu'IMPORTER lit. Toute la grammaire, chaque token, chaque erreur.

Un morceau NØISE peut s'écrire en quelques lignes de texte. Le site montre les morceaux sous cette forme, et l'app lit le texte avec IMPORTER : choisis un fichier texte dans le dialogue de fichiers. Le texte est fait pour être collé dans un chat, un mail ou un forum et en ressortir intact.

Cette page est la référence de la grammaire. Elle est vérifiée contre l'analyseur de l'app (ChartTextFormat dans le package NOISETheory) et contre les tests d'aller-retour qui le gardent.

Un exemple complet

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. |

Il existe trois sortes de lignes : les lignes d'en-tête (key: value), les en-têtes de section ([NAME …]) et les lignes de mesures (| … |). Les lignes vides et les lignes qui commencent par # sont ignorées, tout comme la ligne de signature NOISE SONG 1.

Les types de ligne

La signature

NOISE SONG 1

La première ligne. Toute ligne qui commence par NOISE SONG (sans distinction de casse) est sautée par l'analyseur : la signature est donc facultative quand tu tapes un morceau à la main. Garde-la : elle dit aux gens (et au site) ce qu'est ce texte.

Les lignes d'en-tête

Une ligne d'en-tête est key: value. Les clés ignorent la casse ; la valeur court jusqu'à la fin de la ligne. Elles viennent dans cet ordre ; les valeurs vides sont omises :

CléSensÉcrit par l'app comme
nameLe nom du morceau. Absent → le morceau est importé comme Imported song.texte libre
notesDes notes libres sur le morceau. description est accepté comme alias à la lecture. Les sauts de ligne sont aplatis en espaces.texte libre
authorQui a écrit la grille.texte libre
styleLe style JAM du morceau entier. Un id de style en minuscules : pop, rock, blues, jazz, hiphop, funk, metal. Le genre de batterie en découle. Une valeur inconnue est abandonnée, pas une erreur.id de style
kitLe seul kit JAM du morceau entier (un id de kit propre au style). Opaque.id de kit
les lignes de rangéeLes rangées DRUMS et JAM du morceau lui-même — ce dont part chaque section — avec les mêmes mots qu'une ligne de section, une par ligne : feel:, fillin:, fillout:, variation:, preset:, denergy:, swing:, humanize:, live:, intensity:, colorlayer:, rhythm:, drums: off. Voir En-têtes de section pour chacune.ex. feel: halfTime, preset: LAID_BACK
bpmLe tempo. Ramené entre 20 et 300 à l'import. Non numérique → ignoré.entier
tuningL'accordage pour lequel le morceau est écrit. Comme les champs du groupe, il est appliqué à la session quand le morceau se charge : le groupe se réaccorde sur l'accordage du morceau.standard, dropD, halfStepDown, fullStepDown, dropC, openG, openD, dadgad
capoLa case où se pose le capo du morceau, 0–9 (depuis 0.71). Appliqué au chargement, comme l'accordage : absent ou 0 veut dire pas de capo, et le charger l'enlève. La grille reste dans le ton des positions ; le groupe sonne d'autant de cases plus haut.entier
seedLa graine de groove de l'auteur : le nombre entier d'où le groupe tire ses choix (quelles mesures, quels fills, quelles notes d'approche), pour que le morceau joue pareil partout. Écrite seulement quand elle est posée, conservée à l'aller-retour, jamais inventée.entier
keyLa tonalité d'écriture de la grille. Les blocs en degrés se résolvent contre elle. Voir Les tonalités. Inconnue → erreur.Am, F#, Bb …
endonce (ou end) fait jouer le morceau une fois puis s'arrêter ; tout le reste, ou pas de ligne end, veut dire boucler sans fin.once

Toute autre clé est lue puis abandonnée : tu peux donc ajouter les tiennes (source: …) sans casser l'import, mais elles ne survivent pas à l'aller-retour.

Note

key et end sont lus dans la grille elle-même ; tout le reste est une métadonnée du morceau. Un morceau sans ligne key s'importe quand même : ses blocs en degrés sont alors résolus en C majeur pour l'affichage, et suivent le module TONALITÉ quand il joue.

Les tonalités

key: prend une tonique et un mode optionnel. Les graphies acceptées :

  • Tonique : C D E F G A B avec #/♯ ou b/♭. Bémols et dièses donnent la même classe de hauteur (Bb = A#) ; l'app écrit des dièses (C#, F#m).
  • Mineur : un m, min, minor, min ou minor à la fin : Am, A min, A minor.
  • Majeur : rien, ou maj/major/ maj/ major : G, G major.

Seuls majeur et mineur existent comme modes, dans le format texte comme dans le module TONALITÉ.

Les en-têtes de section

[VERSE x2 energy=lift color=orange feel=shuffle fillin=crash fill preset=DRIVING rhythm=on]

L'en-tête est une ligne […] ; les parties à l'intérieur sont séparées par des espaces simples. La première partie est le nom. Un nom ne peut pas contenir d'espace dans la forme texte : VERSE TWO s'écrit VERSE_TWO, et les tirets bas redeviennent des espaces à l'import. Un nom vide devient SECTION.

Chaque partie suivante est optionnelle et peut venir dans n'importe quel ordre :

PartieSensValeurs
xNLes répétitions. Ramenées entre 1 et 16.x2, x4
energy=L'énergie de la section. Valeur inconnue → base.base, lift, groove, hold, riff, sparse, stop
color=Le tag de couleur d'affichage.cyan, orange, magenta, green, … (opaque ; l'app le rapporte à sa palette)
la rangée DRUMS
drums=offLe kit est silencieux pour cette section (espace solo) ; drums=on dit explicitement le contraire.off, on
feel=Le groove de la batterie et du groupe, parmi les feels du style du morceau.un tag GrooveFeel, par ex. swing, shuffle, halfTime, straight
fillin=La cymbale sur le un de la section.crash, splash, none, choke
fillout=Ce que fait le kit sur la dernière mesure de la section : l'arrangement décide, toujours un fill, jamais, ou un fill de la banque du genre par nom.auto, fill, none, break, un nom
fillLe même que fillout=fill (l'ancien drapeau FILL).drapeau, sans valeur
variation=Les habillages du style, séparés par des virgules. Porté par le fichier ; pas encore de mots.ride,ghosts+
preset=Le preset DRUMS par nom ; les espaces deviennent des tirets bas.STOCK, TIGHT, DRIVING, LAID_BACK, LOOSE, SMOKY, QUIET, CUSTOM
denergy=À quel point le kit joue fort, 0–1 (drumenergy= se lit encore).0.75
swing=La grille, 0 straight à 1 plein ternaire, 0–1.0.5
humanize=À quel point une main varie autour de la partie, 0–1.0.3, 1
live=À quel point le détail écrit est révélé, 0–1.0.25
la rangée JAM
rhythm=La guitare rythmique on ou off pour cette section.on, off
intensity=L'intensité du groupe pour cette section. Ramenée entre 0 et 1.0.5
colorlayer=La quatrième couche de couleur on ou off pour cette section.on, off

Une section ne porte ni style, ni kit, ni genre de batterie : drums=ROCK, band=rock et kit= sur une ligne de section ont disparu (une clé inconnue est ignorée, donc un vieux texte s'importe quand même — sans elles). Les parties sans = qui ne sont ni xN ni fill, et les parties key=value à clé inconnue, sont ignorées. Seules les parties qu'une section règle sont écrites : [VERSE] est un en-tête complet — tout ce qu'elle laisse de côté suit la section d'avant, puis le morceau.

Ce que les sept énergies font au groupe et à la batterie est expliqué sous Énergie et réglages par section.

Les lignes de mesures

| Am | F | C(2) G(2) | G |
| - |

Une ligne de mesures commence par | : l'analyseur reconnaît la ligne à ce premier caractère, il est donc obligatoire. Les mesures sont séparées par | ; le | final peut être omis. Plusieurs lignes de mesures peuvent suivre un même en-tête de section, et les mesures continuent d'une ligne à l'autre (un | - | sur la ligne suivante prolonge le dernier accord de la ligne précédente). Des lignes de mesures avant tout en-tête de section sont une erreur.

Dans une mesure, les tokens sont séparés par des espaces. Les règles, dans l'ordre :

  1. Un seul token, sans (beats) → l'accord remplit toute la mesure.
  2. Plusieurs tokens, aucun ou seulement certains avec (beats) → la mesure est partagée à parts égales. | D Em | en 4/4, c'est deux temps chacun ; | C(2) G |, c'est aussi deux temps chacun : les temps explicites ne comptent que si chaque token de la mesure en porte.
  3. Chaque token a (beats) → chaque accord reçoit exactement ce nombre de temps. | C(1) D(3) |, c'est un temps de C et trois de D. Un token peut dépasser la mesure : | G(8) | est un G de deux mesures. Des temps qui font des mesures entières deviennent des durées en mesures entières. Une section n'a pas à tomber sur des mesures entières ; l'éditeur affiche un tel total en ambre.
  4. - ou % seul dans une mesure → une prolongation : l'accord précédent dure une mesure de plus. Une prolongation sans accord avant est une erreur.
  5. N.C., NC, REST ou N (toute casse) → une mesure de silence (pas d'accord). Le groupe et la batterie la traitent comme du silence, voir Énergie et réglages par section.
  6. Un accent circonflexe anticipe (depuis 0.71) : ^G est frappé une croche en avance, ^^G une double-croche, et tenu par-dessus la barre. L'accent se lie au jeton (^Am(2), ^IV@x35553(2)) et tombe sur un silence ou un %. La place et la durée de l'accord ne bougent pas ; seule l'attaque du groupe.

Attention

% veut dire ici « une mesure de plus du même accord », comme -. Ce n'est pas un bloc « répéter l'accord précédent » à part : une grille qui contient un bloc de répétition s'écrit avec %, et à la relecture ça donne un accord précédent plus long. Le résultat sonne pareil.

Le nombre de temps dans (beats) s'interprète selon la signature rythmique avec laquelle le texte est analysé. Le texte est toujours écrit et analysé à 4 temps par mesure ; une session en 3/4 ou en 6/8 ne change pas le texte.

Les tokens d'accord

Un token d'accord est soit un degré (chiffre romain, relatif à la tonalité, qui se transpose avec elle), soit un symbole d'accord absolu (un accord littéral). Les deux sortes peuvent se mélanger dans une mesure.

Un token peut porter le doigté choisi par le joueur, après un @ : Em@x32010, ou C@x35553(2) quand la mesure est divisée. Le doigté fait six cases, de la corde grave à la corde aiguë, avec x pour une corde étouffée ; les cases à partir de 10 demandent des séparateurs (8-10-10-9-8-8) et @n à la fin indique une case de départ qui ne se déduit pas (x24442@2). Un doigté illisible est abandonné et l'accord est lu quand même. Les silences et les répétitions n'en portent jamais.

L'analyseur décide ainsi : si le token commence par l'un de I V i v b # 1 2 3 4 5 6 7 et se lit comme un chiffre romain, c'est un degré. Sinon, il est lu comme un symbole d'accord. Bb7 (qui commence par B) est donc toujours un symbole d'accord, alors que bVII est un degré ; V7 est un degré, E7 un symbole d'accord.

Les degrés (chiffres romains)

I   ii   IV   V   vi   bVII   #iv   IIm7   V7   IVmaj7   V/V   V7/vi   1   4   5
  • Chiffre : I II III IV V VI VII ou les chiffres 1 à 7.
  • Casse : un chiffre en majuscules sans qualité est une triade majeure, un chiffre en minuscules sans qualité une triade mineure (ii = IIm). Minuscules plus 7, c'est une septième mineure (ii7 = IIm7). Dès que tu écris une qualité explicite, la casse ne compte plus.
  • Altération : un b/♭ devant baisse le degré d'un demi-ton (bVII, bIII), un #/♯ devant le monte (#iv).
  • Qualité et altérations : n'importe quel suffixe de symbole d'accord de la table plus bas (maj7, m7b5, 7#9, sus4, dim, add9, …), écrit directement après le chiffre. En interne, le suffixe est lu comme s'il suivait une fondamentale C.
  • Dominante secondaire : V/x. La partie avant / doit être V ; la partie après est le degré visé (V/V, V7/vi, V/II). Les dominantes secondaires s'écrivent V/ + cible.
  • Basse en slash (depuis 0.71) : un degré du ton après le dernier /, à la Nashville : I/3 (C/E en C, A/C♯ en A), V/7, IV/#4, I/b7, ou un nom de note I/E. Une dominante secondaire en porte une aussi : V/II/3. L'analyseur lit le dernier / : un chiffre (avec b/#) ou une lettre de note est une basse, une queue romaine est un degré visé. Un V/5 tapé à la main veut donc dire « V avec le cinquième degré à la basse » ; l'app n'a jamais écrit cette forme, et V/V ne change pas. Le groupe joue la basse.
  • Un degré sans qualité explicite (I, IV) prend sa qualité dans la tonalité au moment où il est joué : la triade diatonique de ce degré, ou une septième quand le style JAM préfère les septièmes.

Les degrés sont réécrits sous une forme canonique : chiffre en majuscules, et une qualité explicite dès qu'il y en a une (Imaj, IIm7, Vmaj, bVIImaj, V/V) ; un degré sans qualité reste nu (I). Une grille ne dépend donc jamais de la casse à la relecture. Tout ce que tu tapes sous la forme courte revient au même accord après l'aller-retour.

Les symboles d'accord absolus

C   Am   F#m7   Bb7   Cmaj7   Dm7b5   G7b9   E7#9   Asus4   Cadd9   C6/9   Bdim7   Ebaug   D/F#   E5   N.C.

Un symbole d'accord, c'est fondamentale · qualité · modificateurs · altérations · /bass optionnel. Les règles qui comptent :

  • Fondamentale : une lettre de A à G (toute casse) avec jusqu'à deux #/♯ ou b/♭, ou x pour un double dièse. En position de fondamentale, b appartient toujours à la lettre : Bb7 est un accord de septième sur Bb. Les altérations bémol (b5, b9, b13) ne sont reconnues qu'après une qualité (C7b9).
  • Qualité (la correspondance la plus longue gagne) : voir la table. - juste après la fondamentale veut dire mineur (C-7) ; - devant un chiffre plus loin veut dire bémol (C7-9). M, maj, Δ sont testés avant le m minuscule. sus seul, c'est sus4. 6/9, c'est une sixte et une neuvième ajoutées, pas un accord slash. alt, c'est 7#5#9.
  • Altérations : à la suite, sans parenthèses : G7b9#11. Dans une ligne de mesures, les parenthèses veulent dire (beats) : C7(b9,#11) est lu comme un simple C7, et Cm(maj7) comme Cm.
  • Basse : / suivi d'une note. D/F#, C/E, Am/G. La basse doit être une note nue ; /9 après une qualité est une neuvième ajoutée. Depuis 0.71 le groupe la joue – le bassiste, la walking line et la nappe – là où elle n'était qu'affichée.
  • Silences : N.C., NC, REST, N.

Les tokens de qualité reconnus et ce qu'ils deviennent :

Tu écrisType d'accordSymbole que l'app écrit
(rien), maj, 6 (ajoute la sixte), add11, add13 (ajoute la sixte)triade majeureC, C6, Cadd11
m, min, -, m6 (ajoute la sixte)triade mineureCm, Cm6
dim, °triade diminuéeCdim
aug, +triade augmentéeCaug
sus2seconde suspendueCsus2
sus4, susquarte suspendueCsus4
5power chordC5
maj7, ma7, M7, Δ7, Δseptième majeureCmaj7
m7, min7, -7septième mineureCm7
7, alt (ajoute #5 #9)septième de dominanteC7, C7#5#9
dim7, °7, o7septième diminuéeCdim7
m7b5, m7♭5, ø, ø7septième demi-diminuéeCm7b5
mM7, mMaj7, m(maj7)septième mineure-majeureCmM7
aug7, +7septième augmentéeCaug7
add9neuvième ajoutéeCadd9
maj9 / m9, min9, -9 / 99 majeur / 9 mineur / 9 de dominanteCmaj9, Cm9, C9
maj11 / m11, min11, -11 / 1111 majeur / 11 mineur / 11 de dominanteCmaj11, Cm11, C11
maj13 / m13, min13, -13 / 1313 majeur / 13 mineur / 13 de dominanteCmaj13, Cm13, C13

Les tokens d'altération (après une qualité) : b5 #5 b9 #9 #11 b13 (aussi avec ♭/♯, ou -5 +5 -9 +9 +11 -13), add2/add9, add4/add11, add6/6/add13, /9, no3/omit3, no5/omit5, et sus2/sus4 comme notes ajoutées après une qualité.

Les accords absolus sont réécrits comme root + symbol + alterations + /bass avec la troisième colonne de la table (Bb7, F#m7b5, D/F#). Un bloc en degré retient aussi, comme texte d'affichage, l'accord qui sonne dans la tonalité d'écriture.

Les durées dans le texte et dans l'éditeur

L'éditeur propose des durées en mesures entières et des durées de 1, 2 ou 3 temps. Dans le texte, chaque durée s'exprime avec les règles de mesure ci-dessus :

ÉditeurTexte (4/4)
un accord d'une mesure| C |
un accord de deux mesures| C | - |
deux accords de deux temps| C G | ou | C(2) G(2) |
1 temps + 3 temps| C(1) G(3) |
3 temps + 1 temps, puis une mesure| C(3) G(1) | Am |
une mesure de silence| N.C. |
une section vide| N.C. | (une mesure de silence est écrite pour que la section ne se perde pas)

Les accords plus courts qu'une mesure sont écrits avec des temps explicites et groupés jusqu'à remplir une mesure ; un accord à cheval sur une barre de mesure s'écrit comme un accord d'une mesure entière suivi de prolongations -.

Les erreurs

L'analyse s'arrête au premier problème. Chaque erreur porte le numéro de ligne (à partir de 1, en comptant chaque ligne du texte, signature et lignes vides comprises) et un motif. L'app montre les deux quand un import échoue, en anglais : Line 7: unexpected line.

Motif (tel quel)CauseCorrection
section header missing ]Une ligne commence par [ mais ne finit pas par ].Ferme le crochet ; un en-tête tient sur une ligne.
chords before any [SECTION]Une ligne | … | apparaît avant le premier en-tête de section.Ajoute une ligne [NAME] au-dessus des mesures.
unknown key <value>La valeur de key: n'est pas une tonique/un mode reconnu.Écris Am, F#, Bb major, …
unexpected lineUne ligne non vide qui n'est ni un en-tête (key: value), ni un en-tête de section, ni une ligne de mesures : un mot égaré, ou une ligne de mesures qui a perdu son | de tête.Commence les commentaires par #. Vérifie que les lignes de mesures commencent par |.
continuation with no previous chord- ou % dans la première mesure du morceau, ou juste après un en-tête de section sans accord avant.Écris l'accord à la place du tiret.
cannot read chord "<token>" (<detail>)Un token n'est ni un chiffre romain ni un symbole d'accord. <detail> est l'un de emptyInput, unknownRoot, unknownQuality, badBass, trailingGarbage.Vérifie l'orthographe contre les tables ci-dessus. Les coupables habituels : H pour B, un espace dans Cmin7b5, un suffixe non pris en charge comme C7sus, ou une basse qui n'est pas une note (C/x).
no sections (ligne 0)Le texte ne contient aucun en-tête […].Ajoute au moins une section avec des mesures.

Les lignes d'en-tête key: value ne sont jamais des erreurs, sauf key. Les parties inconnues d'un en-tête de section, les énergies inconnues et les styles inconnus sont ignorés en silence : le morceau s'importe quand même.

Les limites

Elles viennent du modèle de grille et valent pour l'import de texte comme pour l'éditeur :

  • au plus 24 sections par morceau (la limite de l'éditeur ; un fichier qui en a plus est lu en entier),
  • au plus 32 blocs d'accord par section,
  • répétitions de 1 à 16 (xN est ramené dans cette plage),
  • un seul accord dure au plus 32 mesures,
  • bpm est ramené entre 20 et 300.

Écrire du texte à la main

Le plus court morceau valide, c'est une ligne d'en-tête et une ligne de mesures :

[A]
| G | D | Em | C |

Ajoute name: et key: et il est prêt à partager :

NOISE SONG 1
name: Four chords
key: G

[LOOP]
| I | V | vi | IV |

Enregistre-le comme fichier texte et fais-le entrer avec IMPORTER (voir Import). Comme les accords sont des degrés, le même texte joue dans n'importe quelle tonalité choisie dans le module TONALITÉ.