[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