GNU LilyPond – Manuel d'initiation: 3.3.2 Création d'un contexte

### 3.3.2 Création d’un contexte

Il en va des contextes comme de toute hiérarchie : il faut un sommet – le contexte `Score` en l’occurrence. La commande `\score` est chargée de le créer, mais pour des partitions simples, il le sera automatiquement. Le bloc `\score` contient donc une expression musicale unique ainsi que, éventuellement, la définition des supports à produire – `\layout` pour du visuel, `\midi` pour de l’acoustique, ou bien les deux.

Lorsqu’une partition ne comporte qu’une voix et une seule portée, vous pouvez laisser LilyPond créer automatiquement les contextes `Voice` et `Staff` ; mais leur présence explicite devient indispensable dès que la situation se complique. Le moyen le plus simple est d’utiliser la commande `\new`. Elle doit intervenir avant une expression musicale, ainsi :

>     \new type expression-musicale

où type correspond au nom du contexte (tels `Staff` ou `Voice`). Cette commande crée un nouveau contexte, puis interprète l’expression-musicale contenue dans ledit contexte.

Note : La commande \`new Score` ne devrait jamais servir en début de partition, puisque le contexte premier que constitue `Score` est créé automatiquement par l’interprétation de l’expression-musicale contenue dans le bloc `score`. Les adaptations affectant les propriétés des différents contextes et qui s’appliqueront à l’ensemble de la partition trouvent leur place au sein d’un bloc \`layout`, en suivant les préceptes énoncés au chapitre Modification des propriétés d’un contexte.

Nous avons déjà vu au cours des chapitres précédents de nombreux exemples où des contextes `Staff` ou `Voice` étaient créés au besoin. Dans un but didactique, voici maintenant une application complète et abondamment commentée :

>     \score {  % start of single compound music expression
>       <<  % start of simultaneous staves section
>         \time 2/4
>         \new Staff {  % create RH staff
>           \key g \minor
>           \clef "treble"
>           \new Voice {  % create voice for RH notes
>             \relative {  % start of RH notes
>               d''4 ees16 c8. |
>               d4 ees16 c8. |
>             }  % end of RH notes
>           }  % end of RH voice
>         }  % end of RH staff
>         \new Staff <<  % create LH staff; needs two simultaneous voices
>           \key g \minor
>           \clef "bass"
>           \new Voice {  % create LH voice one
>             \voiceOne
>             \relative {  % start of LH voice one notes
>               g8 <bes d> ees, <g c> |
>               g8 <bes d> ees, <g c> |
>             }  % end of LH voice one notes
>           }  % end of LH voice one
>           \new Voice {  % create LH voice two
>             \voiceTwo
>             \relative {  % start of LH voice two notes
>               g4 ees |
>               g4 ees |
>             }  % end of LH voice two notes
>           }  % end of LH voice two
>         >>  % end of LH staff
>       >>  % end of simultaneous staves section
>     }  % end of single compound music expression

Notez que toute déclaration qui ouvre un bloc par une accolade, `{`, ou un double chevron gauche, `<<`, est indentée de deux espaces supplémentaires, et de deux autres pour sa marque de fermeture. Bien que ceci ne soit pas obligatoire, nous vous invitons à adopter cette pratique qui vous évitera nombre d’erreurs « accolades non appariées ». La structure de la musique apparaît ainsi au premier coup d’œil, et les défauts de parité sont plus facilement repérables. Vous remarquerez que la portée MG est créée à l’aide d’un double chevron gauche – nécessaire pour gérer ses deux voix – alors que la portée MD ne contient qu’une seule expression musicale – il n’y a qu’une voix – bornée par des accolades simples.

La commande `\new` peut aussi permettre de nommer le contexte créé, et ainsi le distinguer des autres contextes déjà existants :

>     \new type = "UnNom" expression-musicale

Vous noterez la distinction entre le nom du type de contexte, `Staff`, `Voice`, etc. et le nom – une simple suite de lettres au bon gré de l’utilisateur – permettant d’identifier une instance particulière du type en question. Vous pouvez utiliser des chiffres et espaces, à la stricte condition d’englober le tout dans des guillemets ; l’identificateur suivant est tout à fait valide : `\new Staff = "MaPortee 1" expression-musicale`. Comme nous l’avons déjà vu dans le chapitre consacré aux paroles (Voix et paroles), cet identifiant permettra ensuite de se référer à ce contexte particulier.

#### Voir aussi

Manuel de notation : Création et référencement d'un contexte.

#### LilyPond — Manuel d’initiation v2.22.2 (branche stable).