@c -*- coding: utf-8; mode: texinfo; documentlanguage: de -*- @ignore Translation of GIT committish: e5a609e373eae846857f9a6d70a402a3d42b7d94 When revising a translation, copy the HEAD committish of the version that you are working on. For details, see the Contributors' Guide, node Updating translation committishes. @end ignore @c \version "2.19.29" @c Translators: Till Paala @node Gleichzeitig erscheinende Noten @section Gleichzeitig erscheinende Noten @translationof Simultaneous notes @lilypondfile[quote,ragged-right,line-width=16\cm]{simultaneous-headword.ly} Polyphonie bedeutet in der musikalischen Terminologie das Vorhandensein von mehr als einer (eigenständigen) Stimme in einem Stück. Für LilyPond bedeutet es aber das Vorhandensein von mehr als einer Stimme pro System. @menu * Eine einzelne Stimme:: * Mehrere Stimmen:: @end menu @node Eine einzelne Stimme @subsection Eine einzelne Stimme @translationof Single voice Dieser Abschnitt behandelt gleichzeitige Noten innerhalb derselben Stimme. @menu * Noten mit Akkorden:: * Akkord-Wiederholungen:: * Gleichzeitige Ausdrücke:: * Cluster:: @end menu @node Noten mit Akkorden @unnumberedsubsubsec Noten mit Akkorden @translationof Chorded notes @cindex Akkorde @cindex Klammern, spitze @cindex spitze Klammern @funindex < @funindex > @funindex <...> Ein Akkord wird notiert, indem die zu ihm gehörenden Tonhöhen zwischen spitze Klammern (@code{<} und @code{>}) gesetzt werden. Auf einen Akkord kann eine Dauer-Angabe folgen, genauso wie bei einfachen Noten. @lilypond[verbatim,quote] \relative { 1 2 4 8. 16 } @end lilypond Akkorde können auch von Artikulationen gefolgt werden, genau wie auch einfache Noten. @lilypond[verbatim,quote] \relative { 1\fermata 2-> 4\prall 8.^! 16-. } @end lilypond Die Noten innerhalb der Akkorde konnen auch von Artikulationen oder Ornamenten gefolgt werden. @lilypond[verbatim,quote] \relative { 1 c-^ e>2 4 8. 16 } @end lilypond Manche Notationselemente, wie etwa Dynamik, Crescendo-Klammern und Legatobögen müssen an den gesamten Akkord gehängt werden und nicht an einzelne Noten, damit sie ausgegeben werden. @lilypond[verbatim,quote] \relative { 1 \f ( ) \< \! } @end lilypond Ein Akkord ist sozusagen ein Container für die Noten, ihre Artikulationen und andere angehänge Elemente. Demzufolge hat also auch ein Akkord ohne wirkliche Noten innerhalb der Klammern keine Dauer. Alle angehängten Artikulationen geschehen zur selben musikalischen Zeit wie die folgende Note oder der folgende Akkord und werden damit kombiniert (für komplexere Möglichkeiten, derartige Elemente zu kombinieren, siehe @ref{Gleichzeitige Ausdrücke}. @lilypond[verbatim,quote] \relative { \grace { g'8( a b } <> ) \p \< -. -\markup \italic "sempre staccato" \repeat unfold 4 { c4 e } c1\f } @end lilypond @cindex relative Tonhöhe, Akkorde @cindex Akkorde, relative Tonhöhe Der relative Modus kann auch für Tonhöhen in Akkorden eingesetzt werden. Die erste Note eines Akkordes ist immer relativ zur ersten Note des vorherigen Akkordes, oder mit der Tonhöhe der letzten Note vor dem Akkord (wenn kein Akkord vorhergeht). Alle anderen Noten innerhalb des Akkordes sind relativ zu der Note vorher innerhalb des selben Akkordes. @lilypond[verbatim,quote] \relative { 1 } @end lilypond Mehr Information über Akkorden findet sich in @ref{Notation von Akkorden}. @seealso Musikglossar: @rglos{chord}. Handbuch zum Lernen: @rlearning{Noten zu Akkorden verbinden}. Notationsreferenz: @ref{Notation von Akkorden}, @ref{Artikulationszeichen und Verzierungen}, @ref{Relative Oktavenbezeichnung}, @ref{Mehrere Stimmen}. Schnipsel: @rlsr{Simultaneous notes}. @knownissues Akkorde, die mehr als zwei Tonhöhen für einen Notenlinenzwischenraum enthalten (wie etwa @samp{}) produzieren überlappende Notenköpfe. Abhängig von der Situation kann eines der folgenden Dinge helfen, die Darstellung zu verbessern: @itemize @item Kurzzeitig mehrere Stimmen benutzen, siehe @ref{Mehrere Stimmen}: @samp{ >>}, @item enharmonische Transkription für einen oder mehrere Tonhöhen vornehmen: @samp{} oder @item Cluster, siehe @ref{Cluster}. @end itemize @node Akkord-Wiederholungen @unnumberedsubsubsec Akkord-Wiederholungen @translationof Chord repetition @cindex Akkorde, Wiederholung @cindex Wiederholung mit @code{q} Um Schreibarbeit zu ersparen, kann ein Zeichen benutzt werden, um den vorhergehenden Akkord zu wiederholen. Das Symbol hierzu ist @code{q}: @lilypond[verbatim,quote] \relative { 1 q 2 q } @end lilypond Genauso wie normale Akkorde kann auch das Akkord-Wiederholungssymbol in Verbindung mit Tondauern, Artikulationen, Beschriftungen, Legatobögen, Balken usw. benutzt werden, weil nur die Tonhöhen des vorangehenden Akkordes wiederholgt werden. @lilypond[verbatim,quote] \relative { 1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall } @end lilypond Das Akkordwiederholungssymbol erinnert sich an das letzte Vorkommen eines Akkordes, sodass man den letzten Akkord wiederholen kann, auch wenn in der Zwischenzeit nicht-Akkord-Noten oder -Pause auftetreten sind. @lilypond[verbatim,quote] \relative { 1 c'4 q2 r8 q8 | q2 c, | } @end lilypond Das Akkord-Wiederholungssymbol behält keine Dynamikzeichen, Artikulationen oder Ornamente, die in oder an den vorhergehenden Akkord gehängt waren. @lilypond[verbatim,quote,relative=2] 1\sfz c'4 q2 r8 q8 | q2 c, | @end lilypond Damit auch diese Zeichen erhalten bleiben, kann die Funktion @code{\chordRepeats} explizit mit einem zusätzlichen Argument aufgerufen werden, um eine Liste an Ereignistypen (engl. event) zu spezifizieren, die mit wiederholt werden, es sei denn, der gleiche Ereignistyp wird selber mit dem @code{q} verwendet: @lilypond[verbatim,quote] \relative { \chordRepeats #'(articulation-event) { 1\sfz c'4 q2 r8 q8-. } | q2 c, | } @end lilypond Die Benutzung von @code{\chordRepeats} innerhalb einer @code{\relative}-Konstruktion führt zu unerwarteten Ergebnissen: Nachdem die Akkordereignisse einmal erweitert sind, können sie nicht mehr von normal eingegebenen Akkorden unterschieden werden. Dadurch fügt @code{\relative} einen Oktavsprung entsprechend des aktuellen Kontexts ein. Weil geschachtelte @code{\relative}-Umgebungen sich nicht gegenseitig beeinflussen, kann man eine zusätzliche @code{\relative}-Umgebung innerhalb von @code{\chordRepeats} benutzen, um die Oktavbeziehungen darzustellen, bevor die wiederholten Akkorde eingesetzt werden. In diesem Fall beeinflusst der gesamte Inhalt der inneren @code{\relative}-Umgebung nicht die äußere. Daraus ergibt sich die unterschiedliche Oktave der letzten Note in diesem Beispiel: @c Without \new Voice, implicit voice creation does the dumbest thing. @lilypond[verbatim,quote] \new Voice \relative c'' { \chordRepeats #'(articulation-event) \relative { 1\sfz c'4 q2 r8 q8-. } | q2 c | } @end lilypond Derartige Probleme mit @code{\relative} treten nur auf, wenn @code{\chordRepeats} explizit aufgerufen wird: die Verarbeitung von einfachem @code{q} wird erst vorgenommen, wenn alle @code{\relative}-Umgebungen schon verarbeitet sind. @seealso Notationsreferenz: @ref{Notation von Akkorden}, @ref{Artikulationszeichen und Verzierungen}. Installierte Dateien: @file{ly/chord-repetition-init.ly}. @node Gleichzeitige Ausdrücke @unnumberedsubsubsec Gleichzeitige Ausdrücke @translationof Simultaneous expressions Eine oder mehrere musikalische Ausdrücke, die in doppelte spitze Klammern eingeschlossen werden, werden gleichzeitig gesetzt. Wenn der erste Ausdruck mit einer einzelnen Note beginnt oder die gesamte Konstruktion explizit in einer einzelnen Stimme erstellt wird, wird auch nur ein Notensystem erstellt. In anderem Falle werden die Elemente der simultanen Konstruktion auf unterschiedlichen Systemen gesetzt. Das nächste Beispiel zeigt simultane Konstruktionen auf einem System: @lilypond[quote,verbatim] \new Voice { % explicit single voice << \relative { a'4 b g2 } \relative { d'4 g c,2 } >> } @end lilypond @lilypond[quote,verbatim] \relative { % single first note a' << \relative { a'4 b g } \relative { d'4 g c, } >> } @end lilypond Dass kann benutzt werden, wenn die simultanen Abschnitte einen identischen Rhythmus haben, aber wenn versucht wird, Noten mit unterschiedlicher Dauer an denselben Hals zu setzen, gibt es Fehlermeldungen. Noten, Artikulationen und Eigenschaftsänderungen in einer @emph{einzelnen} @samp{Voice} werden gesammelt und in musikalischer Reihenfolge gesetzt: @lilypond[quote,verbatim] \relative { 4-. <>-. << c a >> << { c-. } { a s-. } >> } @end lilypond Mehrfache Hälse oder Balken oder unterschiedliche Notendauern oder Eigenschaften zur selben musikalischen Zeit erfordern den Einsatz von mehreren Stimmen. Das nächste Beispiel zeigt, wie ein simultaner Ausdruck implizit mehrere Systeme erstellt: @lilypond[quote,verbatim] % no single first note << \relative { a'4 b g2 } \relative { d'4 g2 c,4 } >> @end lilypond In diesem Fall stellt der unterschiedliche Rhythmus kein Problem dar, weil sie in unterschiedlichen Stimmen interpretiert werden. @cindex Zusammenstöße, kollidierende Notenkolumnen @cindex Zusammenstöße, ignorieren @knownissues Wenn Noten zweier oder mehrerer Stimmen mit Hälsen in die gleiche Richtung an der selben Position auf dem System gesetzt werden und keinen Versatz durch @code{shift} aufweisen (oder den gleichen Versatz besitzen), erscheint die Nachricht @example Warnung: zu viele kollidierende Notenspalten werden ignoriert @end example @noindent während der Kompilation. Diese Nachricht kann unterdrückt werden durch @example \override NoteColumn.ignore-collision = ##t @end example Das unterdrückt jedoch nicht nur die Warnungen, sondern schaltet auch die Auflösung von Zusammenstößen ab und kann also zu unbeabsichtigten Resultaten führen. (Siehe auch @ref{Auflösung von Zusammenstößen}.) @node Cluster @unnumberedsubsubsec Cluster @translationof Clusters @cindex Cluster @cindex Notencluster @funindex \makeClusters Ein Cluster zeigt an, dass alle Tonhöhen in einem Bereich gleichzeitig gespielt werden sollen. Cluster können gedeutet werden als eine Zusammenfassung einer ganzen Anzahl von Noten. Sie werden notiert, indem die Funktion @code{\makeClusters} auf eine Reihe von Akkorden angewendet wird: @lilypond[quote,verbatim] \relative \makeClusters { 2 } @end lilypond Normale Noten und Cluster können zusammen im selben System notiert werden, sogar gleichzeitig. In solchen Fällen wird nicht versucht, automatisch Zusammenstöße zwischen normalen Noten und Clustern aufzulösen. @seealso Musikglossar: @rglos{cluster}. Schnipsel: @rlsr{Simultaneous notes}. Referenz der Interna: @rinternals{ClusterSpanner}, @rinternals{ClusterSpannerBeacon}, @rinternals{Cluster_spanner_engraver}. @knownissues Cluster sehen nur gut aus, wenn sie wenigstens über zwei Akkorde reichen -- andernfalls sind sie zu schmal. Cluster haben keine Hälse und können auch selber keine Dauern darstellen, aber die Länge des gesetzten Clusters wird erschlossen anhand der Dauern der definierten Akkorde. Voneinander getrennte Cluster brauchen eine unsichtbare Pause zwischen sich. Cluster produzieren kein MIDI. @node Mehrere Stimmen @subsection Mehrere Stimmen @translationof Multiple voices Dieser Abschnitt behandelt gleichzeitige Noten in mehreren Stimmen oder mehreren Systemen. @menu * Mehrstimmigkeit in einem System:: * Stimmenstile:: * Auflösung von Zusammenstößen:: * Automatische Kombination von Stimmen:: * Musik parallel notieren:: @end menu @node Mehrstimmigkeit in einem System @unnumberedsubsubsec Mehrstimmigkeit in einem System @translationof Single-staff polyphony @cindex Mehrstimmigkeit, ein System @cindex ein System, Mehrstimmigkeit @cindex Polyphonie, ein System @cindex Stimme @cindex Voice @cindex Gesangstext, einer Stimme zugewiesen @cindex Mehrstimmigkeit @cindex Polyphonie @funindex \voiceOne @funindex \voiceOne ... \voiceFour @funindex Voice @funindex \oneVoice @strong{@i{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: @lilypond[quote,verbatim] \new Staff << \new Voice = "first" \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d } \new Voice= "second" \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >> @end lilypond @noindent Stimmen werden hier explizit erstellt und erhalten Bezeichnungen zugewiesen. Die @code{\voiceOne} @dots{} @code{\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 @code{\oneVoice}-Befehl stellt das Standardverhalten mit neutralen Halsrichtungen wieder her. @strong{@i{Vorübergehende polyphone Passagen}} Ein vorübergehender polyphoner Abschnitt kann mit folgender Konstruktion erstellt werden: @example << @{ \voiceOne ... @} \new Voice @{ \voiceTwo ... @} >> \oneVoice @end example @noindent Der erste Ausdruck innerhalb des polyphonen Abschnitts wird in den @code{Voice}-Kontext gestellt, der unmittelbar vor dem polyphonen Abschnitt aktiv war, und der gleiche @code{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: @lilypond[quote,verbatim] \relative << \new Voice = "melody" { a'4 << { \voiceOne g f } \new Voice { \voiceTwo d2 } >> \oneVoice e4 } \new Lyrics \lyricsto "melody" { This is my song. } >> @end lilypond @noindent Hierbei sind die Befehle @code{\voiceOne} und @code{\voiceTwo} notwendig, um die Einstellungen für jede Stimme zu initialisieren. @strong{@i{Die Konstruktion mit doppeltem Backslash}} Die @code{<< @{...@} \\ @{...@} >>}-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: @emph{alle} Ausdrücke innerhalb der eckigen Klammern werden in diesem Fall jeweils neuen @code{Voice}-Kontexten zugeordnet. Diese neuen @code{Voice}-Kontexte werden implizit erstellt und haben die festen Bezeichnungen @code{"1"}, @code{"2"} usw. Das erste Beispiel könnte also auch wie folgt notiert werden: @lilypond[quote,verbatim] << \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d } \\ \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. } >> @end lilypond Diese Syntax kann benutzt werden, wenn es keine Rolle spielt, ob vorübergehend Stimmen erstellt werden und dann wieder verworfen werden. Diese implizit erstellten Stimmen erhalten die Einstellungen, die in den Befehlen @code{\voiceOne} @dots{} @code{\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 @code{voiceThree} zugewiesen bekommt. Unsichtbare Pause werden eingesetzt, damit keine doppelten Pausen ausgegeben werden. @lilypond[quote,verbatim] << \relative { r8 g'' g g g f16 ees f8 d } \\ \relative { ees'8 r ees r d r d r } \\ \relative { d''8 s c s bes s a s } >> @end lilypond Es wird sehr empfohlen, in allen außer den allereinfachsten Stücken explizite Stimmenkontexte zu erstellen, wie erklärt in@rlearning{Kontexte und Engraver} und @rlearning{Stimmen explizit beginnen}. @strong{@i{Stimmen-Anordnung}} Wenn mehrere Stimmen notiert werden, sollte folgende Anordnung eingehalten werden: @example Stimme 1: höchste Stimme 2: tiefste Stimme 3: zweithöchste Stimme 4: zweittiefste Stimme 5: dritthöchste Stimme 6: dritttiefste usw. @end example Auch wenn das erst nicht einleuchtend erscheint, erleichtert es den automatischen Layoutprozess doch sehr. Die ungeraden Stimmen erhalten Hälse nach oben, die graden Stimmen Hälse nach unten: @lilypond[quote,verbatim] \new Staff << \time 2/4 { f''2 } % 1: highest \\ { c'2 } % 2: lowest \\ { d''2 } % 3: second-highest \\ { e'2 } % 4: second-lowest \\ { b'2 } % 5: third-highest \\ { g'2 } % 6: third-lowest >> @end lilypond @warning{Gesangstext und Strecker (etwa Bögen, Bindebögen, Crescendoklammern usw.) können nicht zwischen zwei Stimmen erstellt werden.} @strong{@i{Identische Rhythmen}} Wenn parallele Abschnitte gesetzt werden sollen, die identischen Rhythmus haben, kann man die Ausdrücke in einen einzigen @code{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: @lilypond[quote,verbatim] \new Voice << \relative { e''4 f8 d e16 f g8 d4 } \relative { c''4 d8 b c16 d e8 b4 } >> @end lilypond Mit dieser Methode können sich seltsame Balken und Warnungen ergeben, wenn die Musikausdrücke nicht den gleichen Rhythmus haben. @predefined @code{\voiceOne}, @code{\voiceTwo}, @code{\voiceThree}, @code{\voiceFour}, @code{\oneVoice}. @endpredefined @seealso Handbuch zum Lernen: @rlearning{Voice enthält Noten}, @rlearning{Stimmen explizit beginnen}. Notationsreferenz: @ref{Schlagzeugsysteme}, @ref{Unsichtbare Pausen}, @ref{Hälse}. Schnipsel: @rlsr{Simultaneous notes}. @node Stimmenstile @unnumberedsubsubsec Stimmenstile @translationof Voice styles @cindex Voice-Stile @cindex Stile, Stimmen @cindex Stimmen, Stile @cindex Färben von Stimmen @cindex Einfärben von Stimmen @cindex Stimmen, farbige Unterscheidung @funindex \voiceOneStyle @funindex \voiceTwoStyle @funindex \voiceThreeStyle @funindex \voiceFourStyle @funindex \voiceNeutralStyle Stimmen können unterschiedliche Farben erhalten, um einfach erkennbar zu sein: @lilypond[quote,verbatim] << \relative { \voiceOneStyle d''4 c2 b4 } \\ \relative { \voiceTwoStyle e'2 e } \\ \relative { \voiceThreeStyle b2. c4 } \\ \relative { \voiceFourStyle g'2 g } >> @end lilypond Der @code{\voiceNeutralStyle}-Befehl wird benutzt, um wieder die Standardausgabe einzuschalten. @predefined @code{\voiceOneStyle}, @code{\voiceTwoStyle}, @code{\voiceThreeStyle}, @code{\voiceFourStyle}, @code{\voiceNeutralStyle}. @endpredefined @seealso Handbuch zum Lernen: @rlearning{Ich höre Stimmen}, @rlearning{Mehr Information}. Schnipsel: @rlsr{Simultaneous notes}. @node Auflösung von Zusammenstößen @unnumberedsubsubsec Auflösung von Zusammenstößen @translationof Collision resolution @cindex Noten verschmelzen @cindex Verschmelzen von Noten @cindex Zusammenstöße @cindex Notenzusammenstöße @cindex Verschieben von Noten @cindex viele Stimmen @cindex Stimmen, mehrere @cindex mehrere Stimmen @cindex Polyphonie @cindex Stimmen verschieben @cindex Pausen verschieben, automatisch @cindex Verschieben von Pausen, automatisch @funindex \shiftOn @funindex \shiftOnn @funindex \shiftOnnn @funindex \shiftOff @funindex \mergeDifferentlyDottedOn @funindex \mergeDifferentlyDottedOff @funindex \mergeDifferentlyHeadedOn @funindex \mergeDifferentlyHeadedOff 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. Das folgende Beispiel zeigt drei unterschiedliche Situationen, auf Taktposition 1 und 3 in Takt 1 und Taktposition 1 in Takt 2, wo das automatische Verschmelzen nicht funktioniert. @lilypond[quote,verbatim] << \relative { c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >> @end lilypond Noten mit unterschiedlichen Notenköpfen können verschmolzen werden, mit der Ausnahme von Halben- und Viertelnotenköpfen, wie im Beispiel unten gezeigt. Hier werden die Notenköpfe auf Taktposition 1 im ersten Takt verschmolzen: @lilypond[quote,verbatim] << \relative { \mergeDifferentlyHeadedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >> @end lilypond Auch Köpfe mit unterschiedlichen Punktierungen wie auf Taktposition 3 im ersten Takt können verschmolzen werden: @lilypond[quote,verbatim] << \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >> @end lilypond Die Halbe und die Achtel am Anfang des zweiten Taktes werden fehlerhaft verschmolzen, weil die automatische Verschmelzung nicht richtig arbeiten kann, wenn drei oder mehr Noten zur gleichen Zeit auftreten -- und in diesem Fall ist der verschmolzene Notenkopf nicht richtig. Um das Verschmelzen zuzulassen, muss ein @code{\shift} (Verschiebung) auf die Note angewendet werden, die nicht verschmolzen werden soll. In diesem Fall wurde @code{\shiftOn} gesetzt, um das oberste @notation{g} aus der Kolumne zu entfernen. Jetzt funktioniert @code{\mergeDifferentlyHeadedOn} (verschmelze Noten mit unterschiedlichen Köpfen) so wie es soll. @lilypond[quote,verbatim] << \relative { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c''8 d e d c d c4 \shiftOn g'2 fis } \\ \relative { c''2 c8. b16 c4 e,2 r } \\ \relative { \oneVoice s1 e'8 a b c d2 } >> @end lilypond Der @code{shiftOn}-Befehl ermöglicht die Noten einer Stimme zu verschieben, erzwingt dieses Verhalten aber nicht. Wenn @code{shiftOn} auf eine Stimme angewendet wird, eine Note oder ein Akkord in der Stimme wird nur verschoben, wenn sein Hals mit dem Hals der Note einer anderen Stimme kollidieren würde, und nur, wenn der Hals der Kollisionsnote in die gleiche Richtung zeigt. Der @code{shiftOff}-Befehl verhindert, dass eine derartige Verschiebung stattfinden kann. Die äußeren Stimmen (also normalerweise Stimmen 1 und 2) haben als Standard @code{shiftOff} eingestellt, während die inneren Stimmen (3 und mehr) @code{shiftOn} definiert haben. Wenn eine Verschiebung stattfindet, werden Stimmen mit den Hälsen nach oben (also ungerade Stimmen) nach rechts verschoben, während Stimmen mit den Hälsen nach unten (also gerade Stimmen) nach links verschoben werden. Hier ein Beispiel, das verstehen hilft, wie ein verkürzter polyphonischer Abschnitt intern ausgeweitet wird. @warning{Wenn Sie drei oder mehr Stimmen haben, sollte die vertikale Anordnung der Stimmen in der Eingabedatei nicht die gleiche sein wie die vertikale Anordnung der Stimmen im Notensystem!} @lilypond[quote,verbatim] \new Staff \relative { %% abbreviated entry << { f''2 } % 1: highest \\ { g,2 } % 2: lowest \\ { d'2 } % 3: upper middle \\ { b2 } % 4: lower middle >> %% internal expansion of the above << \new Voice = "1" { \voiceOne \shiftOff f'2 } \new Voice = "2" { \voiceTwo \shiftOff g,2 } \new Voice = "3" { \voiceThree \shiftOn d'2 } % shifts right \new Voice = "4" { \voiceFour \shiftOn b2 } % shifts left >> } @end lilypond Zwei zusätzliche Befehle, @code{shiftOnn} und @code{shiftOnnn} stellen weitere Verschiebungsebenen zu verfügung, die vorübergehend eingesetzt werden können um Zusammenstöße in komplizierten Situationen aufzulösen. Siehe auch @rlearning{Beispiel aus dem Leben}. Noten werden nur verschmolzen, wenn ihre Hälse in entgegengesetzte Richtungen zeigen (also etwa wie @code{Voice} 1 und 2 in den Standardeinstellungen oder wenn die Hälse explizit in unterschiedliche Richtungen gedreht sind). @predefined @code{\mergeDifferentlyDottedOn}, @code{\mergeDifferentlyDottedOff}, @code{\mergeDifferentlyHeadedOn}, @code{\mergeDifferentlyHeadedOff}, @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, @code{\shiftOff}. @endpredefined @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {additional-voices-to-avoid-collisions.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {forcing-horizontal-shift-of-notes.ly} @seealso Musikglossar: @rglos{polyphony}. Handbuch zum Lernen: @rlearning{Mehrere Noten auf einmal}, @rlearning{Voice enthält Noten}, @rlearning{Beispiel aus dem Leben}. Schnipsel: @rlsr{Simultaneous notes}. Referenz der Interna: @rinternals{NoteColumn}, @rinternals{NoteCollision}, @rinternals{RestCollision}. @knownissues Die Benutzung von @code{\override NoteColumn.ignore-collision = ##t} führt dazu, dass Noten mit unterschiedlichen Köpfen in unterschiedlichen Stimmen falsch verschmolzen werden. @lilypond[quote,verbatim,fragment] \mergeDifferentlyHeadedOn << \relative { c'16 a' b a } \\ \relative { c'2 } >> \override NoteColumn.ignore-collision = ##t << \relative { c'16 a' b a } \\ \relative { c'2 } >> @end lilypond @ignore @knownissues @c TODO investigate! Sometimes it works, sometimes not. --FV The requirements for successfully merging different note heads that are at the same time differently dotted are not clear. @end ignore @node Automatische Kombination von Stimmen @unnumberedsubsubsec Automatische Kombination von Stimmen @translationof Automatic part combining @cindex automatische Kombination von Stimmen @cindex Stimmen kombinieren @cindex Kombinieren von Stimmen @cindex a due-Stellen @cindex solo-Stellen @funindex \partcombine Automatische Kombination von Stimmen wird verwendet, um zwei selbständige Stimmen auf einem Notensystem zu setzen. Es wird vor allem in Orchesterpartituren eingesetzt. Wenn beide Stimmen die gleichen Noten haben, wird nur eine Stimme gesetzt, wenn sie sich unterscheiden, werden sie als unterschiedliche Stimmen (@code{Voice}) gesetzt, und die Richtung der Hälse wird automatisch bestimmt. Zusätzlich werden @notation{solo} und @notation{a due}-Stellen erkannt und bezeichnet. Die Syntax zur automatischen Stimmenkombination lautet: @example \partcombine @var{musikAusdr1} @var{musikAusdr2} @end example Das nächste Beispiel zeigt, wie die Kombination funktioniert. Hier werden die Stimmen erst auf einem jeweils eigenen System und dann kombiniert gesetzt. Die gleichen Variablen werden für die Stimmen und das kombinierte System benutzt. @lilypond[quote,verbatim] instrumentOne = \relative { c'4 d e f | R1 | d'4 c b a | b4 g2 f4 | e1 | } instrumentTwo = \relative { R1 | g'4 a b c | d4 c b a | g4 f( e) d | e1 | } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partcombine \instrumentOne \instrumentTwo >> @end lilypond Beide Stimmen haben die gleichen Noten im dritten Takt, sodass sie nur als eine Stimme gesetzt werden. 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 (mit dem Kontext @code{one}) immer Hälse nach oben, die zweite Stimme (mit dem Kontext @code{two}) Hälse nach unten. An Solo-Stellen werden die Stimmen mit @qq{Solo} bzw. @qq{Solo II} bezeichnet. Die Unisono-Stellen (@notation{a due}) werden mit dem Text @qq{a2} gekennzeichnet. Beide Argumente von @code{\partcombine} werden als eigenständige @code{Voice}-Kontexte interpretiert. Wenn relative Oktaven benutzt werden, muss @code{\relative} für beide Stimmen benutzt werden, also: @example \partcombine \relative @dots{} @var{musikAusdr1} \relative @dots{} @var{musikAusdr2} @end example @noindent Ein @code{\relative}-Abschnitt, der @code{\partcombine} umschließt, hat keinen Einfluss auf die Tonhöhen von @code{@var{musikAusdr1}} oder @code{@var{musikAusdr2}}. @funindex \partcombineChords @funindex \partcombineApart @funindex \partcombineUnisono @funindex \partcombineSoloI @funindex \partcombineSoloII @funindex \partcombineAutomatic In professionellen Partituren werden Stimmen oft für lange Strecken auseinander gehalten, auch wenn eine oder mehrere Noten tatsälich aufeinander treffen und einfach als Unisono gesetzt werden könnten. Noten zu Akkorden zusammenzufassen oder eine Stimme als Solo anzuzeigen ist darum nicht ideal, weil die @code{\partcombine}-Funktion jede Note separat betrachtet. Aus diesem Grund kann die @code{\partcombine}-Funktion mit folgenden Befehlen verändert werden: Befehle, die auf @code{@dots{} Once} enden, gelten nur für die nächste Note eines musikalischen Ausdrucks. @itemize @item @code{\partcombineApart} und @code{\once \partcombineApart} erhalten die Noten als zwei unterschiedliche Stimmen, auch wenn sie als Akkord oder Unisono kombiniert werden könnten. @item @code{\partcombineChords} und @code{\once \partcombineChords} kombinieren die Noten als Akkord. @item @code{\partcombineUnisono} und @code{\once \partcombineUnisono} kombinieren beide Stimmen als Unisono. @item @code{\partcombineSoloI} und @code{\once \partcombineSoloI} setzen nur Stimme eins und markieren sie als @qq{Solo}. @item @code{\partcombineSoloII} und @code{\once \partcombineSoloII} setzen nur Stimme zwei und markieren sie als @qq{Solo}. @item @code{\partcombineAutomatic} und @code{\once \partcombineAutomatic} beenden die Wirkung der Befehle oben und stellt das normale Verhalten des Kombinationsmechanismus wieder her. @end itemize @lilypond[quote,verbatim] instrumentOne = \relative c' { \partcombineApart c2^"apart" e | \partcombineAutomatic e2^"auto" e | \partcombineChords e'2^"chord" e | \partcombineAutomatic c2^"auto" c | \partcombineApart c2^"apart" \once \partcombineChords e^"chord once" | c2 c | } instrumentTwo = \relative { c'2 c | e2 e | a,2 c | c2 c' | c2 c | c2 c | } << \new Staff { \instrumentOne } \new Staff { \instrumentTwo } \new Staff { \partcombine \instrumentOne \instrumentTwo } >> @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {combining-two-parts-on-the-same-staff.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {changing-partcombine-texts.ly} @seealso Musikglossar: @rglos{a due}, @rglos{part}. Notationsreferenz: @ref{Orchesterstimmen erstellen}. Schnipsel: @rlsr{Simultaneous notes}. Referenz der Interna: @rinternals{PartCombineMusic}, @rinternals{Voice}. @knownissues Alle @code{\partcombine...}-Funktionen können nur zwei Stimmen aufnehmen und sind nicht für die Behandlung von Gesangstext geeignet. Das heißt, dass die Funktion nicht funktioniert, wenn einer der Kontexte explizit eine Bezeichnung erhält, um ihm etwa Gesangstext zuweisen zu können. @code{\partcombine...}-Funktionen können nicht innerhalb von @code{\times}- oder @code{\relative}-Umgebungen geschrieben werden. Wenn @code{printPartCombineTexts} definiert ist und die zwei Stimmen die gleichen Noten abwechselnd spielen, kann es sein, dass die Kombinationsfunktion den Text @qq{a2} mehr als einmal im gleichen Takt setzt. @code{\partcombine} merkt nur, wenn eine Note in einer @code{Voice}-Umgebung beginnt; Information, dass eine Note in einer Stimme etwa schon begonnen hat, wenn die andere Stimme die gleiche Note spielt, fehlt. Das kann zu einigen unerwarteten Problemen führen, wie etwa dass @qq{Solo} bzw. @qq{Unison} falsch gesetzt werden. @code{\partcombine} hält alle Strecker (Haltebögen, Legatobögen, Klammern usw.) in der gleichen @code{Voice}-Umgebung, sodass es sein kann, dass diese Strecker nicht korrekt erscheinen, wenn sie in einer anderen Stimme enden. Wenn die @code{\partcombine}-Funktion beide Noten nicht kombinieren kann (beispielsweise weil beide Stimmen unterschiedliche Dauern haben), werden die Stimmen intern in @code{one} und @code{two} benannt. Das heißt, dass jeglicher Kontextwechsel zu einem @code{Voice}-Kontext mit anderer Bezeichnung ignoriert wird. Lesen Sie auch den Abschnitt @emph{Bekannte Probleme und Warnungen}, wenn Sie @code{\partcombine} in Tabulaturen benutzen (siehe @ref{Standardtabulaturen}). @node Musik parallel notieren @unnumberedsubsubsec Musik parallel notieren @translationof Writing music in parallel @cindex Parallele Notation, Eingabe @cindex Eingabe von Noten parallel @cindex Verschachtelte Musik @funindex \parallelMusic Noten für mehrere Stimmen können verschachtelt notiert werden. Die Funktion @code{\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. @warning{Taktüberprüfungen @code{|} müssen benutzt werden, und die Takte müssen die gleiche Länge haben.} @lilypond[quote,verbatim] \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.~ 4 r16 e'8.~ 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.~ 4 r16 d'8.~ 4 | c'2 c'2 | } \new StaffGroup << \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass \voiceC } >> @end lilypond Der relative Modus kann auch benutzt werden. Beachten Sie, dass der @code{\relative}-Befehl nicht innerhalb von @code{\parallelMusic} benutzt wird. Die Noten sind parallel zu der vorherigen Note der gleichen Stimme , nicht zu der vorherigen Note in der Quelldatei. Anders gesagt ignorieren relative Noten von @code{voiceA} die Noten von @code{voiceB}. @lilypond[quote,verbatim] \parallelMusic #'(voiceA voiceB voiceC) { % Bar 1 r8 g16 c e g, c e r8 g,16 c e g, c e | r16 e8.~ 4 r16 e8.~ 4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ 4 r16 d8.~ 4 | c2 c | } \new StaffGroup << \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >> \new Staff \relative c' { \clef bass \voiceC } >> @end lilypond Das funktioniert ziemlich gut für Klaviernoten. Dieses Beispiel speichert vier konsekutive Takte in vier Variablen: @lilypond[quote,verbatim] 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 >> } >> } @end lilypond @seealso Handbuch zum Lernen: @rlearning{Stücke durch Variablen organisieren}. Schnipsel: @rlsr{Simultaneous notes}.