3.2.2 Instanciation explicite des voix

Les contextes Voice peuvent être déclarés manuellement dans un bloc << >> pour créer de la musique polyphonique, en utilisant \voiceOne… jusqu’à \voiceFour pour assigner des directions de hampes et un déplacement horizontal pour chaque partie. Cette méthode apporte de la clarté pour des partitions plus importantes puisqu’elle permet de bien séparer les voix et de leur affecter un nom plus parlant.

En particulier, la construction << \\ >> que nous avons vue précédemment :

\new Staff {
  \relative c' {
    << { e4 f g a } \\ { c,4 d e f } >>
  }
}

équivaut à

\new Staff <<
  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
>>

Toutes deux produiront

[image of music]

Les commandes \voiceXXX fixent la direction des hampes, des liaisons de prolongation et de phrasé, des articulations, des annotations, des points d’augmentation des notes pointées et des doigtés. \voiceOne et \voiceThree font pointer ces objets vers le haut, alors que \voiceTwo et \voiceFour les font pointer vers le bas. Ces commandes génèrent par ailleurs un décalage horizontal de chacune des voix pour éviter tout risque de chevauchement entre plusieurs notes. La commande \oneVoice les ramène aux critères normaux.

Voyons, à l’aide de ces exemples simples, les effets respectifs de \oneVoice, \voiceOne et \voiceTwo sur les annotations, liaisons de prolongation ou de phrasé, et sur les nuances.

\relative c' {
  % Default behavior or behavior after \oneVoice
  c4 d8~ d e4( f | g4 a) b-> c |
}

[image of music]

\relative c' {
  \voiceOne
  c4 d8~ d e4( f | g4 a) b-> c |
  \oneVoice
  c,4 d8~ d e4( f | g4 a) b-> c |
}

[image of music]

\relative c' {
  \voiceTwo
  c4 d8~ d e4( f | g4 a) b-> c |
  \oneVoice
  c,4 d8~ d e4( f | g4 a) b-> c |
}

[image of music]

Voyons à présent trois différentes façons d’exprimer un passage polyphonique, à partir d’un exemple de la section précédente. Chacune d’elles aura ses avantages selon les circonstances.

Une expression séquentielle qui apparaît en premier dans un << >> – attention, pas dans une construction << \\ >> – appartient à la voix principale. Ceci est utile lorsque des voix supplémentaires apparaissent pendant que la voix principale est jouée. Voici une meilleure réalisation de notre exemple. Les notes colorées et en croix mettent en évidence le fait que la mélodie principale est maintenant dans un seul contexte de voix, ce qui permet d’ajouter une liaison de phrasé à l’ensemble.

\new Staff \relative c' {
  \voiceOneStyle
  % The following notes are homophonic
  c16^( d e f
  % Start simultaneous section of three voices
  <<
    % Continue the main voice in parallel
    { g4 f e | d2 e) | }
    % Initiate second voice
    \new Voice {
      % Set stems, etc., down
      \voiceTwo
      r8 e4 d c8~ | c8 b16 a b8 g~ g2 |
    }
    % Initiate third voice
    \new Voice {
      % Set stems, etc, up
      \voiceThree
      s2. | s4 b c2 |
    }
  >>
}

[image of music]

Dans certaines circonstances de polyphonie complexe, vous pourrez être amené à recourir à une voix temporaire, ce qui peut être une manière plus naturelle de saisir la musique :

\new Staff \relative c' {
  c16^( d e f
  <<
    { g4 f e | d2 e) | }
    \new Voice {
      \voiceTwo
      r8 e4 d c8~ |
      <<
        { c8 b16 a b8 g~ g2 | }
        \new Voice {
          \voiceThree
          s4 b c2 |
        }
      >>
    }
  >>
}

[image of music]

Cette manière de brièvement imbriquer des voix est bien utile pour de courts fragments de musique polyphonique. Mais lorsqu’une portée est très souvent polyphonique, on peut y gagner en clarté si l’on utilise plusieurs voix sur l’ensemble de cette portée et que l’on positionne des silences invisibles pour sauter les moments où il n’y a rien dans cette voix.

\new Staff \relative c' <<
  % Initiate first voice
  \new Voice {
    \voiceOne
    c16^( d e f g4 f e | d2 e2) |
  }
  % Initiate second voice
  \new Voice {
    % Set stems, etc, down
    \voiceTwo
    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
  }
  % Initiate third voice
  \new Voice {
    % Set stems, etc, up
    \voiceThree
    s1 | s4 b4 c2 |
  }
>>

[image of music]

Empilement des notes

Les notes rapprochées d’un accord, ou des notes de différentes voix qui tombent ensemble, seront rangées sur deux colonnes, voire plus, pour palier d’éventuels chevauchements des têtes. On appelle cela des empilements de notes. Chaque voix dispose de plusieurs empilements, et l’attribution d’un décalage à une voix en particulier s’appliquera à l’empilement en question s’il y avait risque de collision. Nous en avons une illustration à la deuxième mesure de l’exemple ci-dessus : le do de la deuxième voix est décalé à droite du ré de la première voix et, dans l’accord final, le do de la troisième voix est lui aussi décalé à droite des autres notes.

Les commandes \shiftOn, \shiftOnn, \shiftOnnn et \shiftOff spécifient le degré nécessaire de décalage qui sera appliqué aux notes ou accords de la voix en question afin d’éviter une collision. Par défaut, les voix extérieures – normalement les première et deuxième – se verront attribuer \shiftOff, alors que les voix intérieures – trois et quatre – se verront attribuer \shiftOn. Lorsqu’un décalage s’applique, les voix un et trois iront vers la droite, et les voix deux et quatre vers la gauche.

\shiftOnn et \shiftOnnn définissent des degrés augmentés de décalage auquel on peut devoir temporairement recourir dans des situations complexes – voir Exemple concret.

Un empilement peut ne contenir qu’une note ou un accord dans une voix aux hampes vers le haut, et une note ou un accord dans une voix aux hampes vers le bas. Dans le cas où des notes, issues de deux voix ayant toutes deux des hampes dans la même direction, se retrouvent au même moment et qu’aucun décalage n’a été spécifié ou qu’ils sont identiques, LilyPond vous le signalera par le message « Trop d’empilements en conflit ».

Voir aussi

Manuel de notation : Plusieurs voix.


Autres langues : English, česky, deutsch, español, magyar, italiano, 日本語, nederlands.
About automatic language selection.

LilyPond — Manuel d’initiation