[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

4.6 Kollision von Objekten

@translationof Collisions of objects


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

4.6.1 Verschieben von Objekten

@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:

  1. Die Richtung eines der überlappenden Objekte kann geändert werden, indem die vordefinierten Befehle für Innersystemobjekte verwendet werden, wie beschrieben in within-staff (Objekte innerhalb des Notensystems). Hälse, Bögen, Balken, Dynamik-Zeichen und Triolen können auf diese Weise einfach umgeordnet werden. Beschränkt ist diese Methode insofern, als es nur zwei Möglichkeiten zur Veränderung gibt: oben oder unten.
  2. Die Objekteigenschaft, die LilyPond benutzt um die Layout-Objekte zu platzieren, können mit dem \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:
  3. Zu guter Letzt, wenn alles andere nicht funktioniert, können Objekte auch manuell positioniert werden, entweder vertikal in Bezug auf die Mittellinie des Systems, oder indem sie einen beliebigen Abstand weit auf eine neue Position verschoben werden. Der Nachteil ist, dass die richtigen Werte für eine gute Position manuell ausprobiert werden müssen, meistens durch Herantasten an den richtigen Wert, und das für jedes einzelne Objekt extra. Und weil diese Verschiebungen erst vorgenommen werden, wenn LilyPond alle anderen Objekte gesetzt hat, ist man als Notensetzer selber dafür verantwortlich, ob es Zusammenstöße gibt. Am schwerwiegendsten ist aber die Tatsache, dass die Verschiebungskoordinaten wahrscheinlich neu errechnet oder ausprobiert werden müssen, wenn sich an den Noten und deren Layout später irgend etwas ändert. Die Eigenschaften, die für diese Arte der manuellen Verschiebung verwendet werden können, sind:
    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.

ObjekttypObjektbezeichnung
ArticulationszeichenScript
BalkenBeam
Dynamikzeichen (vertikal)DynamicLineSpanner
Dynamikzeichen (horizontal)DynamicText
FingersatzFingering
Übungs-/TextmarkenRehearsalMark
LegatobögenSlur
Text z. B. ^"text"TextScript
BindebögenTie
N-tolenTupletBracket

[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

4.6.2 Überlappende Notation in Ordnung bringen

@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.


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die padding-Eigenschaft (auffüllen)

@translationof The padding property

Die padding-(Verschiebungs-)Eigenschaft kann benutzt werden, um den Abstand zwischen Symbolen zu vergrößern (oder zu verkleinern), die über oder unter den Noten gesetzt werden.

 
c'2\fermata
\override Script.padding = #3
b2\fermata

[image of music]

 
% 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 |

[image of music]

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 in Abschnitt ‘Eigenschaften verändern’ in Notationsreferenz.

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.


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die right-padding-Eigenschaft (rechts auffüllen)

@translationof The right-padding property

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
}

[image of music]

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.


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

The staff-padding-Eigenschaft (Systemfüllungseigenschaft)

@translationof The staff-padding property

staff-padding kann verwendet werden um Objekte wie Dynamikzeichen an einer Grundlinie mit einem festen (Mindest-) Abstand zum System auszurichten, wenn keine anderen Notationsobjekte einen noch weiteren Abstand erfordern. 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:

 
\override DynamicLineSpanner.staff-padding = #3
\relative { a'4\f b\mf a\p b\mp }

[image of music]


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die self-alignment-X-Eigenschaft (Selbstausrichtung-X-Eigenschaft)

@translationof The self-alignment-X property

Das nächste Beispiel zeigt, wie man die Position einer Fingersatzbezeichnung relativ zu einem Notenhals justieren kann, indem dessen rechte Kante an dem Referenzpunkt der zugehörigen Note ausgerichtet wird:

 
\voiceOne
<a''\2>
\once \override StringNumber.self-alignment-X = #RIGHT
<a''\2>

[image of music]


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die staff-position-Eigenschaft (Position innerhalb des Systems)

@translationof The staff-position property

Mehrtaktpausen in einer Stimmen können mit Noten in anderen Stimmen kollidieren. Da diese Pausen zentriert zwischen den Taktstriche 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 } >>

[image of music]

Die beste Lösung ist es hier, 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 }
>>

[image of music]

Das ist besser, als etwa extra-offset zu benutzen, denn in unserem Fall wird die Hilfslinie der Pause automatisch gesetzt.


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die extra-offset-Eigenschaft (Genaues Positionieren)

@translationof The extra-offset property

Die extra-offset-Eigenschaft bietet vollständige Kontrolle über die Positionierung von Objekten in horizontaler und vertikaler Richtung.

Im Beispiel unten ist das zweite Fingersatzzeichen (Fingering) etwas nach links und 1,8 Notenlinienabstände nach unten verschoben:

 
f'4-5
\once \override Fingering.extra-offset = #'(-0.3 . -1.8)
f'4-5

[image of music]


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die positions-Eigenschaft (Ausrichtungseigenschaft)

@translationof The positions property

Die positions-Eigenschaft ermöglicht es, die vertikale Position und damit implizit die Neigung von N-tolen, Legato- und Phrasierungsbögen sowie Balken manuell zu steuern.

Im folgenden Beispiel überlappen der Legato- und er Phrasierungsbogen:

 
\relative { a'8 \( ( a'16 ) a \) }

[image of music]

Ein Möglichkeit wäre es, die beiden Endpunkte des Phrasierungsbogen weiter nach oben zu verschieben. Wir probieren einmal das linke Ende 2.5 Staff-Einheiten über die Mittellinie und das rechte Ende 4.5 Einheiten darüber zu fixieren und überlassen es LilyPond, einen zu diesen Endpunkten passenden Phrasierungsbogen auszuwählen:

 
\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
a'8 \( ( a''16 ) a'' \)

[image of music]

Auf jeden Fall eine Verbesserung, aber warum das rechte Ende des Legatobogens nicht ein wenig nach unten verschieben? Wenn Sie es versuchen werden sie feststellen, es ist auf diesem Wege nicht möglich, und das liegt daran, dass LilyPond von sich aus keinen Bogen erzeugt, der niedriger läge, als der, den es bereits auswählt. In solch einem Fall hat eine Änderung der positions-Eigenschaft keinerlei Auswirkung. Allerdings können Binde-, Legato- und Phrasierungsbögen bei Bedarf sehr exakt positioniert und auch geformt werden. Unter (notation)Bögen verändern in Abschnitt ‘Bögen verändern’ in Notationsreferenz können sie lernen, wie.

Hier noch ein weiteres Beispiel. Wie zu sehen ist, stößt der Balken mit den oberen Bögen zusammen:

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
}

[image of music]

Das kann manuell gelöst werden, indem beide Enden des Balkens von ihrer Position 1.81 Notenlinienabstände unter der Mittellinie hoch geschoben werden, etwa auf 1:

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      \override Beam.positions = #'(-1 . -1)
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
      \revert Beam.positions
    }
  >>
}

[image of music]

Hier ist zu beobachten, dass die Veränderung sich auch auf den die zweite Stimme des weiteren Taktes mit Achtelnoten auswirkt, während sie keine Auswirkung auf die Hälse der ersten Stimme hat. Sobald das override nicht mehr benötigt wird, sollte es wie zu sehen reverted werden.


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

Die force-hshift-Eigenschaft (horizontale Verschiebunseigenschaft)

@translationof The force-hshift property

An diesem Punkt können wir den letzten Feinschliff an unserem Chopin-Beispiel vornehmen, das wir behandelt haben in Ich höre Stimmen. Wir hatten es in folgende Form gebracht:

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 des }
    \\
    \\
    { aes'2 f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]

Die inneren Noten des ersten Akkordes (also das As in der vierten Stimme) müssen nicht mit shift verschoben aus der Noten-Kolumne der höheren Stimme verschoben werden, daher verwenden wir \shiftOff.

Im zweiten Akkord wollen wir, dass das F sich am As orientiert und die tiefste Note leicht nach rechts verschoben wird, damit ein Zusammenstoß der Hälse vermieden wird. Das erreicht man mit force-hshift in NoteColumn des unteren Des, um es einen halben Notenlinienzwischenraum nach rechts zu verschieben und gleichzeitig force-hshift für das F auf Null. Ihnen ist sicher aufgefallen, dass wir \once verwenden damit die Veränderung nicht über den konkreten Fall hinaus wirkt, auch wenn im konkreten kleinen Beispiel \once und das zweite \override in der vierten Stimme weggelassen werden könnte. Das wäre aber schlechter Stil.

Hier das Endergebnis:

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
    \\
    \\
    { \once \shiftOff aes'2 \once \shiftOff f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]         [Anfang] [Inhalt] [Index] [ ? ]

4.6.3 Beispiel aus dem Leben

@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.

[image of music]

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

[image of music]

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

[image of music]

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

[image of music]

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 (notation)Auflösung von Zusammenstößen in Abschnitt ‘Auflösung von Zusammenstößen’ in Notationsreferenz. 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:

[image of music]

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

[image of music]

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

[image of music]


[ < ] [ > ]   [ << ] [ Nach oben ] [ >> ]

Dieses Dokument wurde erzeugt von gub am 13. Juli 2020 durch texi2html 1.82.

Andere Sprachen: English, català, español, français, italiano, 日本語, nederlands.
Über die automatische Sprachauswahl.