GNU LilyPond – Manuel d'initiation: 4.2.2 Instanciation explicite des voix

### 4.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 {
>         << { e'4 f g a } \\ { c,4 d e f } >>
>       }
>     }

équivaut à

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

Toutes deux produiront

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 {
>       % Default behavior or behavior after \oneVoice
>       c'4 d8~ 8 e4( f | g4 a) b-> c |
>     }

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

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

Voyons à présent quatre 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 {
>       \voiceOneStyle
>       % The following notes are homophonic
>       c'16^( 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~ | 8 b16 a b8 g~ 2 |
>         }
>         % Initiate third voice
>         \new Voice {
>           % Set stems, etc, up
>           \voiceThree
>           s2. | s4 b c2 |
>         }
>       >>
>     }

La commande `\voices` peut aussi servir à maintenir une voix principale dans une construction simultanée :

>     \new Staff \relative {
>       \new Voice = "main" {
>         \voiceOneStyle
>         % This section is homophonic
>         c'16^( d e f
>         % Start simultaneous section of three voices
>         \voices "main",2,3
>         <<
>           % Continue the main voice in parallel
>           { g4 f e | d2 e) | }
>           % Initiate second voice
>         \\
>           % Set stems, etc., down
>           { r8 e4 d c8~ | 8 b16 a b8 g~ 2 | }
>         \\
>           % Initiate third voice
>           % Set stems, etc, up
>           { s2. | s4 b c2 | }
>         >>
>       }
>     }

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'16^( d e f
>       <<
>         { g4 f e | d2 e) | }
>         \new Voice {
>           \voiceTwo
>           r8 e4 d c8~ |
>           <<
>             { c8 b16 a b8 g~ 2 | }
>             \new Voice {
>               \voiceThree
>               s4 b c2 |
>             }
>           >>
>         }
>       >>
>     }

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 <<
>       % Initiate first voice
>       \new Voice {
>         \voiceOne
>         c'16^( d e f g4 f e | d2 e2) |
>       }
>       % Initiate second voice
>       \new Voice {
>         % Set stems, etc, down
>         \voiceTwo
>         s4 r8 e4 d c8 ~ | 8 b16 a b8 g ~ 2 |
>       }
>       % Initiate third voice
>       \new Voice {
>         % Set stems, etc, up
>         \voiceThree
>         s1 | s4 b4 c2 |
>       }
>     >>

#### 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 « Cette voix requiert un `\voiceXx` ou un réglage `\shiftXx` ».

#### Voir aussi

Manuel d’initiation : Déplacement d’objets

Manuel de notation : Plusieurs voix.

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