With a PianoStaff, and having all the melody in the upper staff, if we put \autochange before the melody, the notes will be displayed in the upper or the lower staff depending on their height. I would like to be able to interrupt briefly this behaviour, for a couple of notes that I want to set explicitly into some staff. I was thinking of using \change Staff = "down" but this does not work.

1 Answer 1


Well, an \autochange plays its contents in a sandbox in order to calculate the change requests, then does it "for real". But the sandbox does not actually have the staves where a \change could have an effect.

So you need to put the \change in the "for real part", and provide a \context Voice where you'll be able to capture the autochange voice produced during the "for real" phase. This could look like

  \context Staff = "up"
    \autochange { g4 c' e' g c' e' g c' e' }
    \context Voice { s1 \change Staff = "up" }
  \context Staff = "down" { \clef bass s1*4 }
  • For the next wayfairing stranger, autochange has been renamed to autoChange. Dec 2, 2022 at 0:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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