Lilypond's current function for determining strings for notes attempts to chose 
a position as low as possible. For this it assumes that the string tuning is 
descending. In the cases when it isn't, Lilypond will fail to output reasonable 
results (especially in chords).

This is for example a problem in notation for Ukulele.

Fixing this is pretty easy, I have proposed a patch some while ago. It then 
turned out that this was in fact done before, but never got anywhere.

The problem then was that for banjo literature the high fifth string is a bit 
special, which is why the current way seems to be prefered on banjo (where the 
5th string is only used if specified).

The problem here appears to be: The fifth string of the banjo starts at a 
higher fret, so the same position actually produces the same note has the first 
string (one could say the fifth string is of same pitch as the first, but it 
starts at a higher position.

So I have thought about possible ways to solve this problem, and came up with 
two possible approaches. One approach would be to add a context property to 
toggle, which behaviour is used. The other one would be to add a second 
property which gives for each string an offset for the top position of the 
string. So here the banjo notation would have first and fifth string at the 
same pitch and an offset for the fifth one (one positive side effect of this 
would be that this will enable us to properly handle something like a 
capodaster).

So I want to gather same opinions, hopefully from people who use such special 
case instruments. What is your take on these options? Do you have different 
ideas? Do you know of other stringed instruments where this would be an issue?

Cheers,
Valentin

Reply via email to