1

Using \autoChange \relative ..., one can set music across staves, but chords don't seem to follow the same rules:

enter image description here

How do I get the music to look more like this:

enter image description here

(code for the right hand)

\autoChange \relative c' {\voiceOne
    <aes des f>16\mf( f aes des f des aes f) <ges aes c>4 <aes' c aes'>4\arpeggio |
}

1 Answer 1

3

Unfortunately, you're going to have to take much more control than \autoChange will do for you. Here's what I did to get your spinnet:

\version "2.22.2"

staffUp   = \change Staff = "upper"
staffDown = \change Staff = "lower"

rightHand = \relative {
  \voiceOne
  <a d f>16\mf( \staffDown f a \staffUp d f d \staffDown a f) 
    \staffUp c'4 <a' c a'>\arpeggio
}

leftHand = \relative { 
  \clef bass
  << 
    { s2 \crossStaff { <g a>4 } } 
    \\ 
    { <a,, a'>2 q4 } 
  >>
  <a'' e' g>\arpeggio
}

\new PianoStaff \with { \consists "Span_stem_engraver" } <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff = "upper" \rightHand 
  \new Staff = "lower" \leftHand
>>

There's a lot of explaining to do here. First, staffUp and staffDown are just for convenience. You have to name your staves something like "upper" and "lower", or "up" and "down", then change staff when you want your right hand to go to the lower staff, or the left hand to go to the upper staff.

Again, the rightHand and leftHand variables are for convenience. The right hand uses the staffUp and staffDown variables to control which staff the notes are on. \voiceOne is used to get the stems and slurs where we want them.

The left hand is unfortunately complex. The problem is that on the third beat you need both the <a a'> bass notes and the <g a> cross-staff chord at the same time. I use a temporary voice to do this (the << { } \\ { } >> construct).

Now the PianoStaff need two things: a Span_stem_engraver to draw the stems across the two staves, and setting the property `PianoStaff.connectArpeggios" to true so the the arpeggios will draw across the staves.

This is probably a lot more complex than you wanted it to be, but this is the kind of thing you have to do to take control of the cross-staff drawing. This is my way of solving the problem; others may have other ways.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.