GNU LilyPond Benutzerhandbuch: 1.5.2 Multiple voices

### 1.5.2 Multiple voices

Dieser Abschnitt behandelt gleichzeitige Noten in mehreren Stimmen oder mehreren Systemen.

#### Single-staff polyphony

Stimmen explicit beginnen

Die grundlegende Struktur, die man benötigt, um mehrere unabhängige Stimmen in einem Notensystem zu setzen, ist im Beispiel unten dargestellt:

>     \new Staff <<
>       \new Voice = "first"
>         { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
>       \new Voice= "second"
>         { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>     >>

Stimmen werden hier explizit erstellt und erhalten Bezeichnungen zugewiesen. Die `\voiceOne` ... `\voiceFour`-Befehle stellen die Stimmen so ein, dass für die erste und dritte Stimme die Hälse nach oben zeigen, für die zweite und vierte Stimme hingegen nach unten. Die Noten der dritten und vierten Stimme werden horizontal verschoben, und Pausen in den entsprechenden Stimmen werden automatisch verschoben, um Zusammenstöße zu vermeiden. Der `\oneVoice`-Befehl stellt das Standardverhalten mit neutralen Halsrichtungen wieder her.

Vorrübergehende polyphone Passagen

Ein vorrübergehender polyphoner Abschnitt kann mit folgender Konstruktion erstellt werden:

>     << { \voiceOne ... }
>       \new Voice { \voiceTwo ... }
>     >> \oneVoice

Der erste Ausdruck innerhalb des polyphonen Abschnitts wird in den `Voice`-Kontext gestellt, der unmittelbar vor dem polyphonen Abschnitt aktiv war, und der gleiche `Voice`-Kontext setzt sich nach dem Abschnitt fort. Andere Ausdrücke innerhalb der eckigen Klammern werden anderen Stimmennummern zugewiesen. Damit lassen sich auch Gesangstexte einer durchgehenden Stimme vor, während und nach dem polyphonen Abschnitt zuweisen:

>     <<
>       \new Voice = "melody" {
>         a4
>         <<
>           {
>             \voiceOne
>             g f
>           }
>           \new Voice {
>             \voiceTwo
>             d2
>           }
>         >>
>         \oneVoice
>         e4
>       }
>       \new Lyrics \lyricsto "melody" {
>       This is my song.
>       }
>     >>

Hierbei sind die Befehle `\voiceOne` und `\voiceTwo` notwendig, um die Einstellungen für jede Stimme zu initialisieren.

Die Konstruktion mit doppeltem Backslash

Die `<< {...} \\ {...} >>`-Konstruktion, in welcher die beiden (oder mehreren) Ausdrücke durch doppelte Backslash-Zeichen (Taste AltGr+ß) getrennt werden, verhält sich anderes als die ähnliche Konstruktion ohne die doppelten Schrägstriche: alle Ausdrücke innerhalb der eckigen Klammern werden in diesem Fall jeweils neuen `Voice`-Kontexten zugeordnet. diese neuen `Voice`-Kontexte werden implizit erstellt und haben die festen Bezeichnungen `"1"`, `"2"` usw.

Das erste Beispiel könnte also auch wie folgt notiert werden:

>     <<
>       { r8 r16 g e8. f16 g8[ c,] f e16 d }
>       \\
>       { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>     >>

Diese Syntax kann benutzt werden, wenn es keine Rolle spielt, ob vorrübergehend Stimmen erstellt werden und dann wieder verworfen werden. Diese implizit erstellten Stimmen erhalten die Einstellungen, die in den Befehlen `\voiceOne` ... `\voiceFour` enthalten sind, in der Reihenfolge, in der sie im Quelltext auftauchen.

Im nächsten Beispiel zeigen die Hälse der zeitweiligen Stimme nach oben, sie wird deshalb erst als dritte in der Konstruktion notiert, damit sie die Eigenschaften von `voiceThree` zugewiesen bekommt. Unsichtbare Pause werden eingesetzt, damit keine doppelten Pausen ausgegeben werden.

>     <<
>       { r8 g g  g g f16 ees f8 d }
>       \\
>       { ees,8 r ees r d r d r }
>       \\
>       { d'8 s c s bes s a s }
>     >>

Es wird sehr empfohlen, in allen außer den allereinfachsten Stücken explizite Stimmenkontexte zu erstellen, wie erklärt in Contexts and engravers und Explicitly instantiating voices.

Identische Rhythmen

Wenn paralelle Abschnitte gesetzt werden sollen, die identischen Rhythmus haben, kann man die Ausdrücke in einen einzigen `Voice`-Kontext parallel kombinieren, sodass sich Akkorde ergeben. Um das zu erreichen, müssen sie einfach von spitzen Klammern innerhalb einer expliziten Stimme umgeben werden:

>     \new Voice <<
>       { e4 f8 d e16 f g8 d4 }
>       { c4 d8 b c16 d e8 b4 }
>     >>

Mit dieser Methode können sich seltsame Balken und Warnungen ergeben, wenn die Musikausdrücke nicht den gleichen Rhythmus haben.

#### Predefined commands

`\voiceOne`, `\voiceTwo`, `\voiceThree`, `\voiceFour`, `\oneVoice`.

#### See also

Handbuch zum Lernen: Voices contain music, Explicitly instantiating voices.

Notationsreferenz: Percussion staves, Invisible rests.

Schnipsel: Simultaneous notes.

#### Voice styles

Stimmen können unterschiedliche Farben erhalten, um einfach erkennbar zu sein:

>     <<
>       { \voiceOneStyle d4 c2 b4 }
>       \\
>       { \voiceTwoStyle e,2 e }
>       \\
>       { \voiceThreeStyle b2. c4 }
>       \\
>       { \voiceFourStyle g'2 g }
>     >>

Der `\voiceNeutralstyle`-Befehl wird benutzt, um wieder die Standardausgabe einzuschalten.

#### Predefined commands

`\voiceOneStyle`, `\voiceTwoStyle`, `\voiceThreeStyle`, `\voiceFourStyle`, `\voiceNeutralStyle`.

#### See also

Handbuch zum Lernen: I’m hearing Voices, Other sources of information.

Schnipsel: Simultaneous notes.

#### Collision resolution

Die Notenköpfe von Noten in unterschiedlichen Stimmen mit derselben Tonhöhe, demselben Notenkopf und den Hälsen in entgegengesetzte Richtungen werden automatisch verschmolzen, aber Noten mit unterschiedlichen Köpfen oder den Hälsen in die selbe Richtung werden nicht verschmolzen. Pausen, die einem Hals in einer anderen Stimme gegenüberstehen, werden vertikal verschoben.

>     <<
>       {
>         c8 d e d c d c4
>         g'2 fis
>       } \\ {
>         c2 c8. b16 c4
>         e,2 r
>       } \\ {
>         \oneVoice
>         s1
>         e8 a b c d2
>       }
>     >>

Noten mit unterschiedlichen Notenköpfen können verschmolzen werden, mit der Ausnahme von Halben- und Viertelnotenköpfen:

>     <<
>       {
>         \mergeDifferentlyHeadedOn
>         c8 d e d c d c4
>         g'2 fis
>       } \\ {
>         c2 c8. b16 c4
>         e,2 r
>       } \\ {
>         \oneVoice
>         s1
>         e8 a b c d2
>       }
>     >>

Auch Köpfe mit unterschiedlichen Punktierungen können verschmolzen werden:

>     <<
>       {
>         \mergeDifferentlyHeadedOn
>         \mergeDifferentlyDottedOn
>         c8 d e d c d c4
>         g'2 fis
>       } \\ {
>         c2 c8. b16 c4
>         e,2 r
>       } \\ {
>         \oneVoice
>         s1
>         e8 a b c d2
>       }
>     >>

Die Halbe und die Achtel am Anfang des zweiten Taktes werden fehlerhaft verschmolzen, weil `\mergeDifferentlyHeadedOn` (Unterschiedliche Köpfe Verschmelzen An) nicht richtig arbeiten kann, wenn drei oder mehr Noten zur gleichen Zeit auftreten – in diesem Fall wird eine Warnung ausgegeben. Damit die Verschmlezung richtig funktionieren kann, muss ein `\shift` (Verschiebung) der Note hinzugefügt werden, die nicht mit verschmolzen werden soll. In diesem Fall wurde `\shiftOn` gesetzt, um das oberste g aus der Kolumne zu entfernen. Jetzt funktioniert `\mergeDifferentlyHeadedOn` so wie es soll.

>     <<
>       {
>         \mergeDifferentlyHeadedOn
>         \mergeDifferentlyDottedOn
>         c8 d e d c d c4
>         \shiftOn
>         g'2 fis
>       } \\ {
>         c2 c8. b16 c4
>         e,2 r
>       } \\ {
>         \oneVoice
>         s1
>         e8 a b c d2
>       }

>     >>

Die Befehle `\shiftOn`, `\shiftOnn` und `\shiftOnnn` bezeichnen den Grad, mit dem Noten der aktuellen Stimme verschoben werden sollen. Die äußeren Stimmen (normalerweise Stimme eins und zwei) haben diese Funktion standardmäßig ausgeschaltet (`\shiftOff`), während die inneren Stimmen (drei und vier) ein `\shiftOn` eingestellt haben (Verschiebung an). Die Befehle `\shiftOnn` und `\shiftOnnn` stellen weitere Verschiebungesebenen dar.

Noten werden nur verschmolzen, wenn ihre Hälse in gegengesetzte Richtungen zeigen (also etwa wie `Voice` 1 und 2).

#### Predefined commands

`\mergeDifferentlyDottedOn`, `\mergeDifferentlyDottedOff`, `\mergeDifferentlyHeadedOn`, `\mergeDifferentlyHeadedOff`, `\shiftOn`, `\shiftOnn`, `\shiftOnnn`, `\shiftOff`.

#### Selected Snippets

Additional voices to avoid collisions

In some instances of complex polyphonic music, additional voices are necessary to prevent collisions between notes. If more than four parallel voices are needed, additional voices can be added by defining a variable using the Scheme function `context-spec-music`.

>     voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)
>     \relative c'' {
>       \time 3/4 \key d \minor \partial 2
>       <<
>         { \voiceOne
>           a4. a8
>           e'4 e4. e8
>           f4 d4. c8
>         } \\ {
>           \voiceThree
>           f,2
>           bes4 a2
>           a4 s2
>         } \\ {
>           \voiceFive
>           s2
>           g4 g2
>           f4 f2
>         } \\ {
>           \voiceTwo
>           d2
>           d4 cis2
>           d4 bes2
>         }
>       >>
>     }

Forcing horizontal shift of notes

When the typesetting engine cannot cope, the following syntax can be used to override typesetting decisions. The units of measure used here are staff spaces.

>     \relative c' <<
>       {
>         <d g>2 <d g>
>       }
>       \\
>       {
>         <b f'>2
>         \once \override NoteColumn #'force-hshift = #1.7
>         <b f'>2
>       }
>     >>

#### See also

Musikglossar: polyphony.

Handbuch zum Lernen: Multiple notes at once, Voices contain music, Collisions of objects.

Schnipsel: Simultaneous notes.

Referenz der Interna: NoteColumn, NoteCollision, RestCollision.

#### Known issues and warnings

Wenn `\mergeDifferentlyHeadedOn` mit einer Achtel- oder kürzeren Note benutzt wird, deren Hals nach oben zeigt, und einer Halben Note mit Hals nach unten, erhält der Hals der Achtelnote eine geringe Verschiebung, weil der schwarze und weiße Notenkopf eine unterschiedliche Breite beistzen.

Es gibt keine Unterstützung für Akkorde, in denen die gleiche Note mit unterschiedlichen Versetzungszeichen im selben Akkord auftaucht. In diesem Fall wird empfohlen, enharmonische Töne zu verwenden, oder die besondere Cluster-Notation (siehe Clusters).

#### Automatic part combining

Automatische Kombination von Stimmen wird verwendet, um zwei Stimmen auf einem Notensystem zu setzen. Es wird vor allem in Orchesterpartituren eingesetzt. Wenn beide Stimmen für einige Noten identisch sind, wird nur eine dargestellt. An den Stellen, an denen die beiden Stimmen sich unterscheiden, werden sie als unterschiedliche Stimmen gesetzt, und die Richtung der Hälse wird automatisch bestimmt. Zusätzlich werden solo und a due-Stellen erkannt und bezeichnet.

Die Syntax zur Stimmenkombination lautet:

>     \partcombine musikAusdr1 musikAusdr2

Das nächste Beispiel zeigt, wie die Kombination funktioniert. Hier werden die Stimmen erst auf einem jeweils eigenen System und dann kombiniert gesetzt, beachten Sie, wie sich die Einstellungen für Polyphonie ändern.

>     instrumentOne = \relative c' {
>       c4 d e f
>       R1
>       d'4 c b a
>       b4 g2 f4
>       e1
>     }

>     instrumentTwo = \relative g' {
>       R1
>       g4 a b c
>       d c b a
>       g f( e) d
>       e1
>     }

>     <<
>       \new Staff \instrumentOne
>       \new Staff \instrumentTwo
>       \new Staff \partcombine \instrumentOne \instrumentTwo
>     >>

Die Noten des dritten Taktes werden nur einfach ausgegeben, obwohl sie ein beiden Stimmen definiert sind. Die Richtung von Hälsen und Bögen werden automatisch gewählt, abhängig davon ob es eine Solo-Stelle oder Unisono ist. In polyphonen Situationen erhält die erste Stimme immer Hälse nach oben, die zweite Stimme Hälse nach unten. An Solo-Stellen werden die Stimmen mit „Solo“ bzw. „Solo II“ bezeichnet. Die Unisono-Stellen (a due) werden mit dem Text „a2“ gekennzeichnet.

Beide Argumente von `\partcombine` werden als `Voice`-Kontexte interpretiert. Wenn relative Oktaven benutzt werden, muss `\relative` für beide Stimmen benutzt werden, also:

>     \partcombine
>       \relative … musikAusdr1
>       \relative … musikAusdr2

Ein `\relative`-Abschnitt, der sich außerhalb von`\partcombine` befindet, hat keinen Einfluss auf die Tonhöhen von musikAusdr1 oder musikAusdr2.

#### Selected Snippets

Combining two parts on the same staff

The part combiner tool ( `\partcombine` command ) allows the combination of several different parts on the same staff. Text directions such as "solo" or "a2" are added by default; to remove them, simply set the property `printPartCombineTexts` to "false". For vocal scores (hymns), there is no need to add "solo"/"a2" texts, so they should be switched off. However, it might be better not to use it if there are any solos, as they won’t be indicated. In such cases, standard polyphonic notation may be preferable.

This snippet presents the three ways two parts can be printed on a same staff: standard polyphony, `\partcombine` without texts, and `\partcombine` with texts.

>     musicUp = \relative c'' {
>       \time 4/4
>       a4 c4.( g8) a4 |
>       g4 e' g,( a8 b) |
>       c b a2.
>     }

>     musicDown = \relative c'' {
>       g4 e4.( d8) c4 |
>       r2 g'4( f8 e) |
>       d2 \stemDown a
>     }

>     \score {
>       <<
>         <<
>         \new Staff {
>           \set Staff.instrumentName = "Standard polyphony  "
>           << \musicUp \\ \musicDown >>
>         }
>         \new Staff \with { printPartCombineTexts = ##f } {
>           \set Staff.instrumentName = "PartCombine without texts  "
>           \partcombine \musicUp \musicDown
>         }
>         \new Staff {
>           \set Staff.instrumentName = "PartCombine with texts  "
>           \partcombine \musicUp \musicDown
>         }
>         >>
>       >>
>       \layout {
>         indent = 6.0\cm
>         \context {
>           \Score
>           \override SystemStartBar #'collapse-height = #30
>         }
>       }
>     }

Changing partcombine texts

When using the automatic part combining feature, the printed text for the solo and unison sections may be changed:

>     \new Staff <<
>       \set Staff.soloText = #"girl"
>       \set Staff.soloIIText = #"boy"
>       \set Staff.aDueText = #"together"
>       \partcombine
>         \relative c'' {
>           g4 g r r
>           a2 g
>         }
>         \relative c'' {
>           r4 r a( b)
>           a2 g
>         }
>     >>

#### See also

Musikglossar: a due, part.

Notationsreferenz: Writing parts.

Schnipsel: Simultaneous notes.

Referenz der Interna: PartCombineMusic, Voice.

#### Known issues and warnings

`\partcombine` kann nur zwei Stimmen bearbeiten.

Wenn `printPartCombineTexts` (drucke Stimmenkombinationstext) gesetzt ist und die Stimmen die gleichen Noten wiederholgt spielen, kann `a2` in einem Takt mehrmals gesetzt werden.

`\partcombine` kann nicht innerhalb von `\times` benutzt werden.

`\partcombine` kann nicht innerhalb von `\relative` benutzt werden.

Intern werden beide Argumente von `\partcombine` als Stimmen (`Voice`) interpretiert und entschieden, wann die Stimmen kombiniert werden können. Wenn sie unterschiedliche Dauern haben, können sie nicht kombiniert werden und erhalten die Bezeichnung `one` und `two` Darum werden Wechsel zu einem `Voice`-Kontext, der eine andere Bezeichnung hat, ignoriert. Genausowenig ist die Stimmenkombination dazu ausgelegt, Gesangtext zu verarbeiten: wenn eine der Stimmen eine explizite Bezeichnung erhält, damit Text damit verknüpft werden kann, hört die Stimmenkombination auf zu arbeiten.

`\partcombine` findet nur den Beginn von Noten. Es kann nicht bestimmen, ob eine vorher begonnene Noten weiterklingt, was zu verschiedenen Problemen führen kann.

#### Writing music in parallel

Noten für mehrere Stimmen können verschachtelt notiert werden. Die Funktion `\parallelMusic` akzeptiert eine Liste mit den Bezeichnungen einer Reihe von Variablen und einen musikalischen Ausdruck. Der Inhalt der verschiedenen Takte in dem musikalischen Ausdruck bekommt die Bezeichnung der Variablen zugewiesen, sodass sie benutzt werden können, um die Musik dann zu setzen. Dabei entspricht jede Zeile einer Stimme.

Achtung: Taktüberprüfungen `|` müssen benutzt werden, und die Takte müssen die gleiche Länge haben.

>     \parallelMusic #'(voiceA voiceB voiceC) {
>       % Bar 1
>       r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
>       r16 e'8.~   e'4            r16 e'8.~   e'4            |
>       c'2                        c'2                        |

>       % Bar 2
>       r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
>       r16 d'8.~   d'4            r16 d'8.~   d'4            |
>       c'2                        c'2                        |

>     }
>     \new StaffGroup <<
>       \new Staff << \voiceA \\ \voiceB >>
>       \new Staff { \clef bass \voiceC }
>     >>

Der relative Modus kann auch benutzt werden. Beachten Sie, dass der `\relative`-Befehl nicht innerhalb von `\parallelMusic` benutzt wird. Die Noten sind paralell zu der vorherigen Note der gleichen Stimme , nicht zu der vorherigen Note in der Quelldatei. Anders gesagt ignorieren realtive Noten von `voiceA` die Noten von `voiceB`.

>     \parallelMusic #'(voiceA voiceB voiceC) {
>       % Bar 1
>       r8 g16 c e g, c e r8 g,16 c e g, c e  |
>       r16 e8.~ e4       r16 e8.~  e4        |
>       c2                c                   |

>       % Bar 2
>       r8 a,16 d f a, d f r8 a,16 d f a, d f |
>       r16 d8.~  d4       r16 d8.~  d4       |
>       c2                 c                  |

>      }
>     \new StaffGroup <<
>       \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
>       \new Staff \relative c' { \clef bass \voiceC }
>     >>

Das funktioniert ziemlich gut für Klaviernoten. Dieses Beispiel speichert vier konsekutive Takte in vier Variablen:

>     global = {
>       \key g \major
>       \time 2/4
>     }

>     \parallelMusic #'(voiceA voiceB voiceC voiceD) {
>       % Bar 1
>       a8    b     c   d     |
>       d4          e         |
>       c16 d e fis d e fis g |
>       a4          a         |

>       % Bar 2
>       e8      fis  g     a   |
>       fis4         g         |
>       e16 fis g  a fis g a b |
>       a4           a         |

>       % Bar 3 ...
>     }

>     \score {
>       \new PianoStaff <<
>          \new Staff {
>            \global
>            <<
>              \relative c'' \voiceA
>              \\
>              \relative c'  \voiceB
>            >>
>          }
>          \new Staff {
>            \global \clef bass
>            <<
>              \relative c \voiceC
>              \\
>              \relative c \voiceD
>            >>
>          }
>       >>
>     }

#### See also

Handbuch zum Lernen: Organizing pieces with variables.

Schnipsel: Simultaneous notes.

Other languages: English, français, español.

#### Notation Reference