Ich kann mein Crescendo mit Lilypond nicht dort beenden, wo ich es haben möchte

Ich versuche, eine gescannte Partitur mit Lilypond zu reproduzieren. Das Original (zumindest der Teil von Interesse) sieht so aus:

Wie Sie sehen können, gibt es ein Crescendo, das am Anfang des 3. Takts beginnt und am Ende des 4. Takts endet.

Mein Lilypond-Code ist der folgende (ich habe das Crescendo in das obere System gesetzt):

%%%%%%%%%%
%% VERSION
%%%%%%%%%%

\version "2.20.0.3"


%%%%%%%%%%%
%% PIANO UP
%%%%%%%%%%%

pianoUpper = \relative c' {
    \clef "treble"
    \time 3/4
    \key c \major

    f4-. \p a-. c-. |
    e,-. g-. c-. |
    a( \< b c) |
    <b d>2.\fermata \! \bar "||"

    \time 6/8

    <e, g>8.( \p <f a>16 <e g>8 <c e>4.) | 
}


%%%%%%%%%%%%
%% PIANO LOW
%%%%%%%%%%%%

pianoLower = \relative c {
    \clef "bass"
    \time 3/4
    \key c \major

    <f a c>2. |
    <g c> |
    <d a' c> |
    <g b>\fermata \bar "||" 

    \time 6/8

    <c, e g>4 <c e g>8 <c e g>4. |
}


%%%%%%%%
%% SCORE
%%%%%%%%

\score {
    <<
        \new PianoStaff <<
            \new Staff = "upper" \pianoUpper
            \new Staff = "lower" \pianoLower
        >>
    >>
}

Und es produziert das folgende Ergebnis:

Geben Sie hier die Bildbeschreibung ein

Was ärgerlich ist, weil ich sehr gerne hätte, dass das Crescendo direkt nach dem Akkord des 4. Takts endet. Ich habe versucht, die \!an verschiedenen Stellen zu platzieren, ohne zufriedenstellendes Ergebnis.

Hat jemand eine Idee, wie ich das Crescendo am Ende von Takt 4 enden lassen kann, wie bei meiner eingescannten Originalpartitur?

Antworten (2)

Die Haarnadel, die auf dem ersten Schlag eines Taktes endet, endet am Taktstrich. Um dies zu ändern, überschreiben Sie die Eigenschaft to-barlinemit false.

...

f4-. \p a-. c-. |
e,-. g-. c-. |
\once \override Hairpin.to-barline = ##f
a( \< b c) |
<b d>2.\fermata \! \bar "||"

...

Siehe hier: http://lsr.di.unimi.it/LSR/Item?id=595

Wenn Sie möchten, dass die Haarnadel weiter geht, verwenden Sie eine skalierte Dauer und Abstandspausen, um die Haarnadel dazu zu bringen, beim dritten Schlag des Takts bei einer unsichtbaren Note zu enden.

...

f4-. \p a-. c-. |
e,-. g-. c-. |
\once \override Hairpin.to-barline = ##f
a( \< b c) |
<b d>2.*1/3 \fermata s4 s \! \bar "||"

...

Siehe hier über Skalierungsdauern: http://lilypond.org/doc/v2.20/Documentation/notation/writing-rhythms#scaling-durations

Sie können die Haarnadel auch mit einem Void-Akkord enden lassen <>\!. Auf diese Weise müssen Sie keine Abstandshalter einsetzen.
@JasperHabicht wie das? Ich bin sehr neu bei Lilypond, also habe ich versucht, die entsprechende Dokumentation zu finden, aber kein Glück. Und zwischen Ihrem Vorschlag und der Lösung von TiagoPC, welche ist tatsächlich besser / empfehlenswerter / bessere Praxis?
@JambonSama Ich habe meinen Kommentar als neue Antwort hinzugefügt. Eigentlich gibt es keine „beste“ Antwort auf Ihren Ansatz. Ich würde die Dauer vielleicht nicht unbedingt skalieren, weil ich denke, dass dies eine ziemlich hackige Lösung ist und einige negative Auswirkungen auf die Platzierung der Noten haben kann, aber ich denke, die Lösung mit dem Überschreiben der Eigenschaft der Haarnadel ist tatsächlich eine der beabsichtigten Möglichkeiten, Ihr Problem zu to-barlinelösen .

Sie können mit einen leeren Akkord eingeben <>und die Haarnadel darauf enden lassen. \overrideAuf diese Weise müssen Sie keine Dauer eingeben oder skalieren.

\new Voice {
  \time 3/4
  \relative c' { a'4(\< b c) | <b d>2.\fermata <>\! \bar "||" }
}

Der obige Code sollte wie folgt gerendert werden:

Geben Sie hier die Bildbeschreibung ein

Das ist eigentlich die bessere Lösung. Das wusste ich nicht. Ich werde es in mein Repertoire aufnehmen.
Ich weiß nicht mehr, wo ich diesen Trick gelernt habe und konnte ihn nicht in der Dokumentation finden. Aber es ist besonders hilfreich, wenn Sie mit mehreren Stimmen zu tun haben. Ich denke, es funktioniert für Schraubenschlüssel im Allgemeinen.