| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Collisions of objects
| 4.5.1 Přesouvání předmětů | ||
| 4.5.2 Oprava překrývajících se not | ||
| 4.5.3 Příklady ze života |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Moving objects
Es wird vielleicht eine Überraschung sein, aber LilyPond ist nicht perfekt. Einige Notationselemente können sich überschneiden. Das ist nicht schön, aber zum Glück sehr selten. Normalerweise müssen die Objekte zur Klarheit oder aus ästhetischen Gründen verschoben werden – sie könnten besser aussehen, wenn sie etwas zusätzlichen Platz erhalten.
Es gibt im Grunde drei Herangehensweisen, überlappende Notation zu verbessern. Man sollte sie in der folgenden Reihenfolge anwenden:
\override-Befehl positioniert werden. Die Vorteile
von Änderungen dieser Art sind a) dass einige Objekte
automatisch verschoben werden, wenn es nötig ist Platz zu
schaffen und b) ein einziges \override sich auf
alle Fälle eines Objekttyps bezieht. Zu diesen Eigenschaften
gehören:
direction (Richtung)
Das wurde schon detailliert behandelt, siehe předměty uvnitř notové osnovy.
padding, right-padding, staff-padding (Verschiebung)
Wenn ein Objekt platziert wird, bestimmt der Wert seiner
padding-(Füllungs)-Eigenschaft die Größe des
Abstandes, der zwischen dem Objekt selber und dem
Objekt, relativ zu welchem es positioniert wird, gelassen
werden muss. Dabei zählt der padding-Wert
des Objektes, das platziert werden soll, der padding-Wert
des Objektes, das schon gesetzt wurde, wird hingegen
ignoriert. Abstände mit padding können zu
allen Objekten hinzugefügt werden, die das
side-position-interface unterstützen.
Anstelle von padding wird die Position von
Versetzungszeichengruppen durch die Eigenschaften
right-padding bestimmt. Diese Eigenschaft wird im
AccidentalPlacement-(Versetzungszeichen-Positionierungs)-Objekt
gefunden, das sich innerhalb des Staff-Kontexts
befindet. Während des Notensatzes werden die Notenköpfe
zuerst gesetzt und dann die Versetzungszeichen, wenn denn
welche gesetzt werden, durch die right-padding-Eigenschaft
auf die linke Seite der Notenköpfe positioniert, um die Entfernung
von den Notenköpfen und zwischen den einzelnen Versetzungszeichen zu
bestimmen. Also nur die right-padding-(Verschiebung nach rechts)-Eigenschaft
des AccidentalPlacement-Objekts hat Einfluss auf die
Positionierung der Versetzungszeichen.
Die staff-padding-(Verschiebung zum System)-Eigenschaft
ist sehr ähnlich wie die padding-Eigenschaft:
padding bestimmt den Minimalabstand zwischen
einem Objekt, das das side-position-interface
unterstützt, und dem nächsten anderen Objekt (normalerweise
die Note oder Notenlinie); staff-padding dagegen
wirkt nur auf Objekte die immer außerhalb des Notensystems
sind – damit wird der minimale Abstand bestimmt, der
zwischen dem Objekt und dem Notensystem gelassen werden
soll. staff-padding hat also keinen Einfluss
auf Objekte, die relativ zu einer Note positioniert werden, sondern
nur auf solche, die zum System relativ stehen. Wenn es mit einem
anderen Objekt eingesetzt wird, erhält man keine Fehlermeldung, aber
der Befehl hat auch keine Auswirkungen.
Um herauszufinden, welche padding-Eigenschaft für
das bestimmte Objekt nötig, ist, das Sie verschieben wollen,
müssen Sie in der IR nach den Objekt-Eigenschaften schauen.
Dabei sollten Sie bedenken, dass sich die padding-Eigenschaften
nicht unbedingt in dem Objekt selber befinden, schauen Sie
also auch in Objekten nach, die offensichtlich Ähnlichkeiten
haben.
Alle padding-Werte werden in Notenlinienabständen
gemessen. Für die meisten Objekte ist der Wert ungefähr auf
1.0 oder weniger gesetzt (das variiert von Objekt zu Objekt).
Der Wert kann geändert werden, wenn ein größerer (oder
kleinerer) Abstand gewünscht wird.
self-alignment-X (Selbstpositionierung)
Diese Eigenschaft kann benutzt werden, um ein Objekt
nach links, rechts oder zentriert an dem Referenzpunkt des Objekts
auszurichten, an das es verknüpft ist. Es kann bei allen
Objekten benutzt werden, die das self-alignment-interface
unterstützen. Das sind üblicherweise Objekte, die Text
enthalten. Die möglichen Werte der Eigenschaft sind LEFT,
RIGHT oder CENTER. Alternativ kann ein
numerischer Wert zwischen -1 und +1
bestimmt werden: -1 heißt linksbündig, +1
rechtsbündig und Zahlen dazwischen bewegen den Text
schrittweise von links nach rechts. Zahlen größer als
1 können angegeben werden, um den Text
noch weiter nach links zu bewegen, oder weniger als -1,
um ihn weiter nach rechts zu schieben. Eine Änderung
um 1 des Wertes entspricht einer Bewegung um
die halbe Textbreite.
extra-spacing-width (zusätzliche Breite)
Diese Eigenschaft steht für alle Objekte zur Verfügung, die
das item-interface unterstützen. Es braucht zwei
Zahlen als Argument, die erste wird zur rechten Ausdehnung,
die zweite zur linken Ausdehnung hinzugerechnet. Negative
Zahlen verschieben die Ausdehnung nach rechts, positive nach
links, um also ein Objekt zu verbreitern, muss die erste
Zahl negativ und die zweite positiv sein. Allerdings beachten
nicht alle Objekte beide Zahlen. Das
accidental-(Versetzungszeichen)-Objekt etwa beachtet
nur erste Zahl für die linke Ausdehnung.
staff-position (Notensystempositionierung)
staff-position ist eine Eigenschaft des
staff-symbol-referencer-interface, die von Objekten unterstützt
wird, die relativ zum Notensystem (engl. staff) positioniert werden.
Hiermit wird die vertikale Position eines Objekts relativ zur
Mittellinie des Systems in halben Notenlinienabständen angegeben.
Das ist sehr nützlich, um Zusammenstöße zwischen Layout-Objekten
wie Ganztaktpausen, Bögen und Noten in verschiedenen Stimmen
zu lösen.
force-hshift (vertikale Verschiebung erzwingen)
Eng beieinander stehende Noten in einem Akkord oder Noten, die zum
gleichen Zeitpunkt in unterschiedlichen Stimmen stehen, werden
in zwei oder manchmal auch mehr Kolumnen gesetzt, um Kollisionen
zu umgehen. Diese Kolumnen werden Notenkolumnen genannt;
ein NoteColumn-Objekt wird erstellt um die Noten in den
Kolumnen zu setzen.
Die force-hshift-(erzwinge horizontale Verschiebung)-Eigenschaft
ist eine Eigenschaft von NoteColumn (bzw. vom
note-column-interface). Eine Veränderung dieser Eigenschaft
macht es möglich, eine Notenkolumne zu verschieben, dabei gilt als
Einheit die Breite einer Kolumne, also die Breite des Notenkopfes der
ersten Stimme. Diese Eigenschaft kann in Situationen benutzt werden,
in denen die normalen \shiftOn-Befehle (siehe auch
Přesně vyjádřené začátky hlasů) das Problem nicht beseitigen.
Diese Eigenschaft ist besser in solchen Fällen zu verwenden als die
extra-offset-Eigenschaft, weil man die richtige Entfernung nicht
in Notenlinienabständen ausrechnen muss. Wenn eine Note in eine
Notenkolumne oder aus ihr heraus geschoben wird, werden auch andere
Funktionen beeinflusst, wie etwa die Verschmelzung von Notenköpfen.
extra-offset (zusätzlicher Abstand)Diese Eigenschaft gehört zu jedem Layout-Objekt, das das
grob-interface unterstützt. Sie braucht ein Zahlenpaar,
das die exakte Verschiebung in horizontaler und vertikaler Richtung
bezeichnet. Negative Zahlen verschieben das Objekt nach links oder
unten. Die Einheit sind Notenlinienabstände. Die zusätzliche
Positionierung wird vorgenommen, nachdem alle anderen Objekte
platziert sind, weshalb ein Objekt irgendwohin verschoben werden
kann, ohne den restlichen Satz zu beeinflussen.
positions (Position)Diese Eigenschaft ist am sinnvollsten, um die Steigung und die
Höhe von Balken, Bögen und Triolenklammern anzupassen.
Sie braucht ein Zahlenpaar, das die Position des rechten und linken
Endes relativ zur Mittellinie des Notensystems bestimmt. Die
Einheit sind Notenlinienabstände. Bögen allerdings können nicht
beliebig weit weg positioniert werden. LilyPond erstellt zunächst eine
Liste an möglichen Positionen für den Bogen und findet normalerweise
die Version, die „am besten aussieht“. Wenn die
positions-Eigenschaft verändert worden ist, wird der
Bogen aus der Liste gewählt, der der gewünschten Position am
nächsten kommt.
Ein bestimmtes Objekt hat vielleicht nicht alle dieser Eigenschaften. Darum ist es nötig, in der IR nachzuschlagen, welche Eigenschaften ein bestimmtes Objekt unterstützt.
Hier ist eine Liste an Objekten, die am wahrscheinlichsten an einer Kollision beteiligt sind, daneben findet sich die Bezeichnung des Objektes, mit der Sie es in der IR finden, um zu bestimmen, welche Eigenschaften benutzt werden können, um es zu verschieben.
| Objekttyp | Objektbezeichnung |
|---|---|
| Articulationszeichen | Script |
| Balken | Beam |
| Dynamikzeichen (vertikal) | DynamicLineSpanner |
| Dynamikzeichen (horizontal) | DynamicText |
| Fingersatz | Fingering |
| Übungs-/Textmarken | RehearsalMark |
| Legatobögen | Slur |
Text z. B. ^"text" | TextScript |
| Bindebögen | Tie |
| N-tolen | TupletBracket |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Fixing overlapping notation
Hier soll nun gezeigt werden, wie die Eigenschaften, die im vorigen Abschnitt vorgestellt wurden, bei der Problemlösung mit sich überschneidenden Notationselementen eingesetzt werden können.
Die padding-(Verschiebungs-)Eigenschaft kann benutzt
werden, um den Abstand zwischen Symbolen zu vergößern (oder
zu verkleinern), die über oder unter den Noten gesetzt werden.
c'2\fermata \override Script.padding = #3 b2\fermata
% This will not work, see below \override MetronomeMark.padding = #3 \tempo 4 = 120 c'1 | % This works \override Score.MetronomeMark.padding = #3 \tempo 4 = 80 d'1 |
Im zweiten Beispiel können Sie sehen, wie wichtig es ist den richtigen
Kontext anzugeben. Weil das MetronomeMark-Objekt
sich im Score-Kontext befindet, werden Eigenschaftsänderungen
im Voice-Kontext einfach ignoriert. Für mehr Einzelheiten siehe
(notation)Eigenschaften verändern section ‘Eigenschaften verändern’ in Doporučení pro notový zápis.
Wenn die padding-Eigenschaft eines Objektes erhöht wird, das
sich in einem Stapel von Objekten befindet, die nach ihrer
Außersystempriorität (outside-staff-priority) positioniert werden,
werden das Objekt und alle, die sich außerhalb davon befinden,
entsprechend verschoben.
Die right-padding-Eigenschaft wirkt sich auf den Abstand
zwischen einem Versetzungszeichen und der Note, auf das sie sich
bezieht, aus. Sie wird nicht sehr oft benötigt, aber die
Standardanordnung kann für einige spezielle Versetzungszeichen-Glyphen
oder Kombinationsglyphen,
wie sie für Mikrotonale Musik benutzt werden, falsch sein. Derartige
Glyphen müssen notiert werden, indem man den Stencil des
Versetzungszeichens mit einer Textbeschriftung (Markup) ersetzt,
wie im folgenden Beispiel:
sesquisharp = \markup { \sesquisharp } \relative { c''4 % This prints a sesquisharp but the spacing is too small \once \override Accidental.stencil = #ly:text-interface::print \once \override Accidental.text = #sesquisharp cis4 c % This improves the spacing \once \override Score.AccidentalPlacement.right-padding = #0.6 \once \override Accidental.stencil = #ly:text-interface::print \once \override Accidental.text = #sesquisharp cis4 }
Dazu ist aber ein \override-Befehl für den Stencil des
Versetzungszeichens nötig, der bisher nicht behandelt wurde.
Der Typ des Stencils muss eine Prozedur sein, die hier geändert
wurde, um den Inhalt der text-Eigenschaft des
Accidental (Versetzungszeichen)-Objekts zu setzen. Die
text-Eigenschaft wiederum wird als sesquisharp-Glyph
definiert. Dieser Glyph wird dann weiter vom Notenkopf entfernt
durch die Veränderung von right-padding mit einem
\override-Befehl.
staff-padding (Verschiebung zum Notensystem) kann
verwendet werden um Objekte wie Dynamikzeichen an einer
Grundlinie auf einer bestimmten Höhe über dem System
auszurichten, sodass sie nicht von der Position der Note abhängen,
an die sie angehängt sind. Diese Verschiebung ist keine Eigenschaft
von DynamicText, sondern von DynamicLineSpanner.
Das liegt daran, dass die Grundlinie sich gleicherweise auf
alle Dynamikzeichen beziehen soll, also auch auf die,
die als Strecker erstellt wurden. Hier also die Lösung, die Dynamikzeichen
aus dem Beispiel des vorigen Abschnitts auszurichten:
\dynamicUp % Extend width by 1 unit \override DynamicText.extra-spacing-width = #'(-0.5 . 0.5) % Align dynamics to a base line 2 units above staff \override DynamicLineSpanner.staff-padding = #2 a4\f b\mf c\mp b\p
Das nächste Beispiel zeigt, wie man den Zusammenstoß einer Fingersatzbezeichnung mit einem Notenhals verhindern kann, indem die rechte Ecke an dem Referenzpunkt der abhängigen Note angeordnet wird:
\voiceOne < a\2 > \once \override StringNumber.self-alignment-X = #RIGHT < a\2 >
Vieltaktpausen in einer Stimmen können mit Noten in anderen Stimmen kollidieren. Da diese Pausen zentriert zwischen den Taktlinien gesetzt werden, würde es für LilyPond eine recht große Anstrengung bedeuten herauszufinden, welche Noten mit ihnen zusammenstoßen könnten, denn alle Kollisionsvermeidung für Noten und Pausen funktioniert nur für Noten bzw. Pausen, die zur selben Zeit auftreten. Hier ein typisches Beispiel für eine Kollision dieser Art:
<< \relative { c'4 c c c } \\ { R1 } >>
Die beste Lösung ist es, die Ganztaktpause nach unten zu
schieben, denn die Pause ist in der zweiten Stimme. Per
Standardeinstellung für die zweite Stimme (\voiceTwo,
also die zweite Stimme in der
<<{...} \\ {...}>>-Konstruktion) wird die
Position auf dem System (staff-position) auf -4
für MultiMeasureRest, in unserem Beispiel muss
es also bspw. auf die Position -8 gesetzt werden,
d.h. vier halbe Notenlinienabstände weiter nach unten:
<< \relative { c'4 c c c } \\ \override MultiMeasureRest.staff-position = #-8 { R1 } >>
Das ist besser, als etwa extra-offset zu benutzen, denn
in unserem Fall wird die Hilfslinie der Pause automatisch gesetzt.
Die extra-offset-Eigenschaft bietet vollständige Kontrolle
über die umístění předmětů in horizontaler und vertikaler
Richtung.
Im Beispiel unten ist das zweite Fingersatzzeichen (Fingering) etwas nach
links und 1,8 Notenlinienabstände nach unten verschoben:
\stemUp f4-5 \once \override Fingering.extra-offset = #'(-0.3 . -1.8) f4-5
Die positions-Eigenschaft erlaubt die Kontrolle von Position und
Steigung von Balken, Legato- und Phrasierungsbögen sowie Triolenklammern.
Hier ein Beispiel, in der ein unschöner Phrasierungsbogen auftritt, weil
er den Bogen des Vorschlags vermeidet:
r4 \acciaccatura e8\( d8 c~ c d c d\)
Man könnte einfach den Phrasierungsbogen oberhalb der Noten setzen, und das wäre auch die beste Lösung:
r4 \phrasingSlurUp \acciaccatura e8\( d8 c~ c d c d\)
aber wenn es einen Grund geben sollte, warum das nicht geht, könnte
man das linke Ende des Phrasierungsbogens etwas nach unten verschieben,
indem man die positions-Eigenschaft einsetzt. Damit
verschwindet auch die etwas unschöne Form:
r4 \once \override PhrasingSlur.positions = #'(-4 . -3) \acciaccatura e8\( d8 c~ c d c d\)
Hier noch ein weiteres Beispiel aus der Einleitung von Chopins Prelude Op. 28 Nr. 2, das untere System. Wie zu sehen ist, stößt der Balken mit den oberen Noten zusammen:
{ \clef "bass" << { b,8 ais, b, g, } \\ { e, g e, g } >> << { b,8 ais, b, g, } \\ { e, g e, g } >> }
Das kann manuell gelöst werden, indem beide Enden des Balkens von ihrer Position 2 Notenlinienabstände über der Mittellinie hochgeschoben werden, etwa auf 3:
{ \clef "bass" << \override Beam.positions = #'(3 . 3) { b,8 ais, b, g, } \\ { e, g e, g } >> << { b,8 ais, b, g, } \\ { e, g e, g } >> }
Hier ist zu beobachten, dass die Veränderung sich auch auf die weiteren Achtelbalken der ersten Stimme auswirkt, während sie keine Auswirkung auf die Balken der zweiten Stimme hat.
An diesem Punkt können wir den letzten Feinschliff an unserem Chopin-Beispiel vornehmen, das wir behandelt haben in Slyším hlasy. Wir hatten es in folgende Form gebracht:
\new Staff \relative { \key aes \major << { c''2 aes4. bes8 } \\ { aes2 f4 fes } \\ { \voiceFour <ees c>2 des } >> | <c ees aes c>1 | }
Die unteren zwei Noten des ersten Akkords (also die in der
dritten Stimme) sollten nicht aus der Notenkolumne der
oberen zwei Noten weggeschoben werden. Um das zu
korrigieren, setzen wir force-hshift, das eine
Eigenschaft von
NoteColumn ist, für diese Noten auf Null.
Die untere Note des zweiten Akkordes wird am besten
direkt rechts von den oberen Noten gesetzt. Das erreichen
wir, indem wir force-hshift für diese Note auf
0.5 setzen, also eine halbe Notenkopfbreite nach rechts von
der Kolumne der oberen Noten aus.
Hier das Endergebnis:
\new Staff \relative { \key aes \major << { c''2 aes4. bes8 } \\ { aes2 f4 fes } \\ { \voiceFour \once \override NoteColumn.force-hshift = #0 <ees c>2 \once \override NoteColumn.force-hshift = #0.5 des2 } >> | <c ees aes c>1 | }
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Real music example
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 Slyším hlasy und Přesně vyjádřené začátky hlasů 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 einer doppelten Taktlinie 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 „Taktlinien“: ein
Arpeggio also erstellt man mit dem Befehl \arpeggio
hinter einem Akkord und eine doppelte Taktlinie 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 přesouvání předmětů, 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 übergebundene 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 fetten Text mit dem
\markup-Befehl eingibt, es ist also einfach, das
„Moderato“ in fetter Schrift hinzuzufügen. 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
(notation)Auflösung von Zusammenstößen section ‘Auflösung von Zusammenstößen’ in Doporučení pro notový zápis. 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:
rhMusic = \relative { \new Voice { r2 c''4.\( g8 | \once \override Tie.staff-position = #3.5 bes1~ | \bar "||" \time 6/4 bes2.^\markup { \bold "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~ 2 } \new Voice { \voiceThree s8 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 >> >> }
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.^\markup { \bold "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 postupy při ladění 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.^\markup { \bold "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 \once \override 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 >> >> }
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by gub on July 13, 2020 using texi2html 1.82.
Jiné jazyky: English, català, deutsch, español, français, italiano, 日本語, nederlands.
O automatickém výběru řeči.