6

I am having a hard time finding a way to get the fingering markings for two voices in the left hand, onto the same side of a single staff in LilyPond, like in the picture below:

Piece of music, with fingering for two voices on the same side

My aim is: to get fingerings for both voices on the same side of the staff (above or below).

The voices should be independent like this:

lower = {
  \new Voice = "lower" <<
     \new Voice { \voiceOne \alt }
     \new Voice { \voiceTwo \tenor }
  >>
}

NOT put into chords like this:

lower = {
  \new Voice = "lower" <<
  { \alt }
  { \tenor }
  >>
}

If I use the default way of adding fingering to single notes in each voice like c4-4, then their preferred fingering direction is that one goes above the staff and one below.

If I try to force them in the same direction by always using ^ like c4^4, then the layout algorithm doesn't respect that there are 2 voices in the staff, and both fingerings go in the exact same position – i.e. they get overlaid over each other and aren't readable anymore.
(The same thing happens if you try with the \override Fingering.direction = #UP option)

Another idea I had was to separate the fingerings into a 3rd voice context like this:

fingeringMII = { s4-4 }
\new Staff \context Voice = ManII { \lower }
\context Voice = ManII { \fingeringMII }

This is basically working well, but the notation I need c4-5-4 doesn't work with invisible rests. The notation c4-5-4 results in a fingering of 4 above 5 as expected. However s4-5-4 behaves differently – and displays as 54. I tried to circumvent this with chords like this <s-5 s-4>4, but this gives an error, as the chord construct seems to not allow for rests.

So the only way I have found to get what I like, is to add fingerings for both voices to the upper voice like this c4^5^4, but this is not the best to maintain.

What is a better solution?

3

Depending on the range of the tenor line, you might be able to get away with just overriding the fingering staff padding for the tenor voice:

alto = {
    \new Voice {
        \voiceOne       
            b4_3 cs'_2 d'_1 a_3 |
    }
}   

tenor = {
    \new Voice {
        \voiceTwo
        \override Voice.Fingering.staff-padding = #3  %%%
            g4-5 g-5 a-3 fis-5 |
    }
}

Fingering for alto and tenor on the same side of the staff

However, if there are lots of low notes for these voices, this isn't going to be a good method.
But, if there are just a few notes that are too low in the staff, you can tweak them manually.

2
  • Great! Thanks a lot. This is what I was looking for. You don’t also have an idea how to make it work with the separated voice context for the fingerings (my last example)? Because this is nice to be able to switch of fingerings on occasions for printing a version without fingering. – Peter Jan 20 at 14:09
  • I tried it out and it seems to be working with contexts. What isn't working for you? – Elements in Space Jan 20 at 15:50

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.