[ << Die Ausgabe verbessern ] | [Anfang][Inhalt][Index] | [ Vorlagen >> ] |
[ < Die force-hshift-Eigenschaft ] | [ Nach oben : Kollision von Objekten ] | [ Weitere Optimierungen > ] |
5.6.3 Beispiel aus dem Leben
Das Kapitel zu Optimierungen soll mit einem komplizierten Beispiel beendet werden, in dem verschiedene Optimierungen vorgenommen werden müssen, bis das Ergebnis gut aussieht. Das Beispiel wurde ganz bewusst gewählt um die Benutzung der Notationsreferenz zu zeigen, wenn ungewöhnliche Notationsprobleme gelöst werden müssen. Es ist nicht repräsentativ für normale Notationsprojekte, lassen Sie sich also nicht durch dieses Beispiel entmutigen! Zum Glück sind Probleme wie die hier gezeigten nicht sehr häufig.
Das Beispiel stammt aus Chopins Premiére Ballade, Op. 23, Takte 6–9, der Übergang vom Lento der Einleitung zum Moderato. Hier zunächst der Satz, wie er aussehen soll, allerdings ohne Dynamik, Fingersatz und Pedalbezeichnung, um das Beispiel nicht zu kompliziert zu machen.
Die erste Überlegung ist, dass das System für die rechte Hand im dritten Takt vier Stimmen braucht. Das sind die fünf Achtelnoten mit Balken, das übergebundene C, die Halbe D, die mit der Achtel D verschmolzen ist, und die punktierte Viertel Fis, die auch mit einer Achtelnote verschmolzen ist. Alles andere ist eine einzige Stimme, es ist also am einfachsten, die zusätzlichen drei Stimmen nur zeitweise zu erstellen, wenn sie auftreten. Wenn Sie vergessen haben, wie man das anstellt, schauen Sie sich nochmal den Abschnitt Ich höre Stimmen und Stimmen explizit beginnen an. Hier wollen wir explizit begonnene Stimmen für die polyphone Stelle benutzen, weil LilyPond Kollisionen besser vermeidet, wenn alle Stimmen auf diese Weise explizit begonnen werden.
Wir wollen anfange, indem wir die Noten in zwei Variablen
notieren und dann die Systemstruktur in einer
\score
-Umgebung erstellen. Das ist, was LilyPond
erstellt:
rhMusic = \relative { \new Voice { r2 c''4. g8 | bes1~ | \time 6/4 bes2. r8 % Start polyphonic section of four voices << { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2. % continuation of main voice } } lhMusic = \relative { r2 <c' g ees>2 | <d g, d>1 | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Alle Noten sind richtig, aber die Positionierung sehr verbesserungsbedürftig. Der Bindebogen kollidiert mit der veränderten Taktart zusammen, einige Noten werden nicht verschmolzen und einige Notationselemente fehlen ganz. Behandeln wir zunächst die einfacheren Dinge. Der Balken kann durch eine manuelle Begrenzung einfach korrigiert werden, und auch der Legatobogen der linken Hand und der Phrasierungsbogen der rechten Hand sind schnell gesetzt, denn sie wurden schon in der Übung erklärt. Damit haben wir folgendes Notenbild:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | bes1~ | \time 6/4 bes2. r8 % Start polyphonic section of four voices << { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2.\) % continuation of main voice } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1) | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Der erste Takt stimmt jetzt schon. Der zweite Takt enthält ein
Arpeggio und wird mit einem doppelten Taktstrich beschlossen.
Wie können wir diese notieren, denn sie sind im Handbuch zum
Lernen nicht vorgekommen? Hier brauchen wir jetzt die
Notationsreferenz. Ein Blick in den Index zeigt uns die
Einträge für „Arpeggio“ und „Taktstriche“: ein
Arpeggio also erstellt man mit dem Befehl \arpeggio
hinter einem Akkord und einen doppelten Taktstrich wird mit dem
Befehl \bar "||"
erstellt. Das ist einfach. Als nächstes
muss der Zusammenstoß des Bindebogens mit der Taktartbezeichnung
gelöst werden. Das geht am besten, indem wir den Bogen nach
oben verschieben. Wie man Objekte verschiebt wurde schon
behandelt in Verschieben von Objekten, wo stand, dass Objekte
die relativ zum System positioniert werden, vertikal verschoben werden
können, indem ihre staff-position
-Eigenschaft
geändert wird, die in halben Notenlinienabständen relativ
zur Mittellinie angegeben wird. Dieser \override
-Befehl
also, direkt vor die erste über gebundene Note gestellt, verschiebt
den Bindebogen (tie
) 3,5 halbe Notenlinienabstände
über die Mittellinie:
\once \override Tie.staff-position = #3.5
Damit ist auch der zweite Takt vollständig:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2. r8 % Start polyphonic section of four voices << { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo c,8~ 2 } \new Voice { \voiceThree s8 d2 } \new Voice { \voiceFour s4 fis4. } >> | g2.\) % continuation of main voice } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
In Takt drei beginnt der Moderato-Abschnitt. In der
Übung wurde behandelt, wie man ein Tempobezeichnung mittels des
\tempo
-Befehls eingibt. Damit ist das hinzufügen des
„Moderato“ einfach. Wie aber werden Noten
verschmolzen? Hier nehmen wir wieder die Notationsreferenz
zu Hilfe. Die Suche nach „Verschmelzen“ (engl. merge)
im Index führt uns zu den Befehlen, um Noten mit
unterschiedlichen Köpfen und unterschiedlichen Punkten
zu verschmelzen, in
Auflösung von Zusammenstößen. In unserem
Beispiel müssen sowohl unterschiedliche Köpfe also auch
unterschiedliche Punktierung verschmolzen werden, wir
brauchen also die Befehle
\mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn
aus der Notationsreferenz, die wir an den Beginn unseres Abschnittes stellen und
\mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff
um das Verhalten wieder auszuschalten. Das sieht so aus:
Mit diesen Veränderungen wurden die beiden Fis-Noten
verschmolzen, aber nicht die zwei Ds. Warum nicht? Die
Antwort befindet sich im gleicher Abschnitt der Notationsreferenz:
Noten, die verschmolzen werden, müssen Hälse in entgegengesetzte
Richtungen aufweisen und zwei Noten können nicht verschmolzen
werden, wenn eine dritte Noten in der gleichen Kolumne
stört. In unserem Fall weisen beide Hälse nach oben und es
befindet sich zur gleichen Zeit auch noch eine dritte Note, das C.
Wie die Richtung von Hälsen geändert wird, wissen wir schon:
mit \stemDown
, und in der Notationsreferenz findet
sich auch Information, wie das C verschoben werden kann: mit
dem \shift
-Befehl. Aber welcher von ihnen? Das C
befindet sich in der zweiten Stimme, die „shift off“ hat,
die zwei Ds sind in den Stimmen eins und drei, die „shift
off“ bzw. „shift on“ haben. Das C muss also noch eine
Stufe weiter verschoben werden mit \shiftOnn
, damit
es die Verschmelzung der Ds nicht stört. Das sieht jetzt so
aus:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Start polyphonic section of four voices << { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo % Move the c2 out of the main note column % so the merge will work c,8~ \shiftOnn c2 } \new Voice { \voiceThree % Stem on the d2 must be down to permit merging s8 \stemDown d2 } \new Voice { \voiceFour s4 fis4. } >> | \mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff g2.\) % continuation of main voice } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
Fast schon geschafft. Nur noch ein Problem ist übrig: Der Hals nach
unten des verschmolzenen sollte nicht da sein, und das C sähe
besser auf der rechten Seite des Ds aus. Beides können wir mit den
gelernten Optimierungsmethoden erreichen. Den Hals machen
wir durchsichtig und das C verschieben wir mit der
force-hshift
-Eigenschaft. Hier ist das Endergebnis:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2.\tempo "Moderato" r8 \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn % Start polyphonic section of four voices << { c,8 d fis bes a } % continuation of main voice \new Voice { \voiceTwo c,8~ % Reposition the c2 to the right of the merged note \once \override NoteColumn.force-hshift = #1.0 % Move the c2 out of the main note column % so the merge will work \shiftOnn c2 } \new Voice { \voiceThree s8 % Stem on the d2 must be down to permit merging \stemDown % Stem on the d2 should be invisible \tweak Stem.transparent ##t d2 } \new Voice { \voiceFour s4 fis4. } >> | \mergeDifferentlyHeadedOff \mergeDifferentlyDottedOff g2.\) % continuation of main voice } } lhMusic = \relative { r2 <c' g ees>2( | <d g, d>1)\arpeggio | r2. d,,4 r4 r | r4 } \score { \new PianoStaff << \new Staff = "RH" << \key g \minor \rhMusic >> \new Staff = "LH" << \key g \minor \clef "bass" \lhMusic >> >> }
[ << Die Ausgabe verbessern ] | [Anfang][Inhalt][Index] | [ Vorlagen >> ] |
[ < Die force-hshift-Eigenschaft ] | [ Nach oben : Kollision von Objekten ] | [ Weitere Optimierungen > ] |