Instantiation explicite des voix - GNU LilyPond
Description: GNU LilyPond

Suivant : Résolution des collisions, Précédent : Polyphonie basique, Haut : Polyphonie

#### 6.3.4 Instantiation 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.

En particulier,

    << \upper \\ \lower >>

équivaut à

    <<
     \new Voice = "1" { \voiceOne \upper }
     \new Voice = "2" { \voiceTwo \lower }
    >>

Les commandes `\voiceXXX` fixent la direction des hampes, des liaisons de prolongations 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. La commande `\oneVoice` les ramène aux critères normaux.

Une expression apparaissant directement dans un `<< >>` 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 l'exemple de la section précédente. Les notes en croix démontrent que la mélodie principale est maintenant dans un seul contexte de voix.

>          \new Staff \relative c' {
>            \override NoteHead #'style = #'cross
>            c16 d e f
>            \voiceOne
>            <<
>              { g4 f e | d2 e2 }
>              \new Voice="1" { \voiceTwo
>                r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
>                \oneVoice
>              }
>              \new Voice { \voiceThree
>                s2. | s4 b4 c2
>                \oneVoice
>              }
>            >>
>            \oneVoice
>          }

La définition correcte des voix permet à la mélodie d'être liée.

>          \new Staff \relative c' {
>            c16^( d e f
>            \voiceOne
>            <<
>              { g4 f e | d2 e2) }
>              \context Voice="1" { \voiceTwo
>                r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
>                \oneVoice
>              }
>              \new Voice { \voiceThree
>                s2. s4 b4 c2
>                \oneVoice
>              }
>            >>
>            \oneVoice
>          }

Le fait d'éviter le séparateur `\\` permet aussi d'imbriquer des constructions polyphoniques, ce qui peut être une manière plus naturelle de taper la musique.

>          \new Staff \relative c' {
>            c16^( d e f
>            \voiceOne
>            <<
>              { g4 f e | d2 e2) }
>              \context Voice="1" { \voiceTwo
>                r8 e4 d c8 ~ |
>                <<
>                  {c8 b16 a b8 g ~ g2}
>                  \new Voice { \voiceThree
>                    s4 b4 c2
>                    \oneVoice
>                  }
>                >>
>              \oneVoice
>              }
>            >>
>            \oneVoice
>          }

Dans certaines circonstances de polyphonie complexe, vous pourrez être amené à recourir à des voix supplémentaires afin d'éviter des collisions de notes. Ces voix additionnelles s'ajoutent en définissant un identificateur, comme le montre l'exemple suivant :

>          voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

>          \relative c''' <<
>            { \voiceOne g4 ~  \stemDown g32[ f( es d c b a b64 )g] } \\
>            { \voiceThree  b4} \\
>            { \voiceFive d,} \\
>            { \voiceTwo g,}
>          >>

Suivant : Résolution des collisions, Précédent : Polyphonie basique, Haut : Polyphonie

This page is for LilyPond-2.10.33 (stable-branch).

Other languages: English.