[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-user
Subject: Cross-staff slur with cross-staff stem: a solution
From: "Ole V. Villumsen" <ole.villumsen () protonmail ! ch>
Date: 2023-08-23 9:24:56
Message-ID: ntTO9EKrgOuLl44xF3CnKmNO9yWmNSaqKvq_v3tv0ynB8bpgD-IZy370-xCo-mnV_TgoIiA1kh8Fb45binppHIz_Y2h1LB48K4eYfdgSJDw= () protonmail ! ch
[Download RAW message or body]
I was typesetting a work where the piano part includes the bar in \
bar-in-manuscript.png (attached). Since this turned out to be even more complicated \
than expected, I want to share my solution. It might help someone at a point.
The hard part are the two middle eight-notes in the right hand. Complications \
include:
1. One note, f, is so deep it should be notated in the lower staff
2. That note then crosses the left-hand part
3. The f should still share stem with the d' in the upper staff.
4. Slurs between chords go out from each note head in the first chord, so in this \
case from f' to d' and from d' to f, the latter also crossing the staves.
What I produced is in the attached cross-staff-slur-and-stem.pdf. I have pasted my \
Lilypond source code at the bottom. The example is not exactly tiny, but it's small, \
50 lines. Because I found that developing my tiniest example into full code caused \
new issues to arise, so to be rid of them too. Tricks include:
1. d' and f connected by the cross-staff slur are set in a separate Voice in lower \
staff using \change Staff to put d' on the upper staff. 2. The cross-staff stem is \
handled as described in the snippet at \
https://lilypond.org/doc/v2.24/Documentation/snippets/staff-notation#staff-notation-cross-staff-stems.
3. The \autoBeamOff required by \crossStaff caused an unwanted flag on d'. This was \
removed by \omit Score.Flag. 4. The crossing parts ("voices" in Lilypond jargon) on \
the lower staff cause the note columns to be shifted, which in turn caused the \
cross-staff stem not to connect. The fix was a hidden note in a crossing part in the \
upper staff too so it shifted too. 5. Lilypond set the second rest too low, probably \
a corner-case bug. Easily fixed with b'\rest. 6. The cross-staff slur didn't look \
perfect and was reshaped as described in \
https://lilypond.org/doc/v2.24/Documentation/notation/modifying-shapes#modifying-ties-and-slurs \
(you may consider tweaking the upper slur too).
I did consider other ways of distributing the notes onto staves or other changes that \
would make the job easier. But I considered the composer's notation completely fair \
and adequate and wanted to mimic it.
The music is from Emilie Mayer: Piano Quartet IEM 58 in E flat major, last movement \
Allegro. Finale, bar 144. The manuscript is on IMSLP, \
https://imslp.org/wiki/Piano_Quartet_in_E-flat_major_(Mayer%2C_Emilie)
/Ole
\version "2.24.2"
\layout {
\context {
\PianoStaff \consists "Span_stem_engraver"
}
}
global = {
\key es \major
\time 6/8
}
\new PianoStaff <<
\new Staff = upper \relative {
\global
<< {
\oneVoice
% The d on the third 8th will be set from the lower staff (complicated)
<as' f d>8 r \voiceOne <f\=1(>[ <d\=1)>] \oneVoice b'\rest <d, bes> |
}
\\ {
% Crossing parts ("voices") in lower staff cause note columns to be \
shifted, % which in turn causes the cross-staff stem not to connect.
% To compensate insert a hidden note in a crossing part here.
s4. \hideNotes c'4 \unHideNotes s8 |
}
>>
}
\new Staff = lower \relative {
\clef bass
\global
<< {
s4
\change Staff = upper
\autoBeamOff
\omit Score.Flag
% \vshape may produce extra beam, but don't worry, it disappears when I \
change to \shape \shape #'((0.3 . 2) (0.4 . 1.5) (0.2 . 0.5) (0 . 0)) Slur
d'8_(
\undo \omit Score.Flag
\change Staff = lower
\crossStaff { f,) }
s8 s |
}
\\ { bes8 bes, bes' ^~ bes bes, as' | }
>>
}
> >
Sent with Proton Mail secure email.
["bar-in-manuscript.png" (image/png)]
["cross-staff-slur-and-stem.pdf" (application/pdf)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic