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

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.

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

[image of music]

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 LH est créée à l’aide d’un double chevron gauche – nécessaire pour gérer ses deux voix – alors que la portée RH 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 = nom 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.


GNU LilyPond – Manuel d’initiation v2.25.22 (development-branch).