nächstes: , voriges: Einfache Mehrstimmigkeit, aufwärts: Mehrere Stimmen


Stimmen explizit beginnen

Voice-Kontexte können auch manuell innerhalb eines << >>-Abschnittes initiiert werden. Mit den Befehlen \voiceOne bis hin zu \voiceFour kann jeder Stimme entsprechendes Verhalten von vertikaler Verschiebung und Richtung von Hälsen und anderen Objekten hinzugefügt werden.

Genauer gesagt,

<< \upper \\ \lower >>

entspricht

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

Der \voiceXXX-Befehl setzt die Richtung von Hälsen, Bögen, Artikulationszeichen, Text, Punktierungen und Fingersätzen. \voiceOne und \voiceThree lassen diese Objekte nach oben zeigen, \voiceTwo und \voiceFour dagegen lassen sie abwärts zeigen. Der Befehl \oneVoice stellt wieder auf das normale Verhalten um.

Ein Ausdruck, der direkt innerhalb einer << >>-Umgebung auftritt, gehört der Hauptstimme an. Das ist nützlich, wenn zusätzliche Stimme auftreten, während die Hauptstimme sich fortsetzt. Hier also eine bessere Version des Beispiels aus dem vorigen Abschnitt. Die farbigen Kreuz-Notenköpfe zeigen, dass die Hauptstimme sich jetzt in einem einzigen Stimmen (voice)-Kontext befindet.

     
     \new Staff \relative c' {
       \override NoteHead #'style = #'cross
       \override NoteHead #'color = #red
       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
     }

[image of music]

Und mit der richtigen Definition der Stimmen kann die Melodie auch übergebunden werden.

     
     \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
     }

[image of music]

Indem man den \\-Trenner vermeidet, gelingt es auch, mehrstimmige Abschnitte ineinander zu schachteln, was in manchen Fällen die bessere und natürlichere Lösung sein kann.

     
     \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
     }

[image of music]

In manchen Fällen von sehr komplexer polyphoner Musik können noch mehr Stimmen benötigt werden, um Zusammenstöße zwischen Noten zu vermeiden. Zusätzliche Stimmen werden durch einen neuen Bezeichner erstellt, wie das nächste Beispiel zeigt.

     
     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,}
     >>

[image of music]

Diese Seite ist für LilyPond-2.11.58 (Entwicklungszweig).

Fehler bitte an http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs melden.

Ihre Vorschläge für die Dokumentation sind willkommen.