I'm writing down a score for a transcription of a guitar piece, and figured I could also include tabs for it. Unfortunately, lilypond seems to generate the fingerings on its own and they're very inconvenient, at least with the default settings that I have (it's for a guitar in standard tuning). I can't find in the documentation if there's a way to control this, ideally I would like to enter the frets for each note manually. Is this possible ?
1 Answer
Lilypond’s fretting algorithm tries to place each note in descending order on the highest possible string. This produces small fret numbers. Lilypond does not take into account the context of each note (and also different voices). So you will often need to manually intervene here.
Lilypond offers two mechanics here (http://lilypond.org/doc/v2.24/Documentation/notation/common-notation-for-fretted-strings.html#default-tablatures):
- The
minimumFret
property: This is the lowest allowed fret position (default 0). UnlessrestrainOpenStrings
is set true this will still allow automatic use of open strings. - Manual specification of string numbers using
note-\2
(or whatever number).
Say in this example
\new TabStaff { <c' e' g' > f' <c' e' g'> }
the f is placed in a bad place. We could either do
\new TabStaff { <c' e' g' > f'\2 <c' e' g'> }
or
\new TabStaff { \set minimumFret = 3 <c' e' g' > f' <c' e' g'> }
The second way is particularly useful if a whole passage needs to be played in a higher position. Also note that setting the string number will result in the conventional notation in a regular staff:
\new Staff { <c' e' g' > f'\2 <c' e' g'> }
(unless you do \omit StringNumber
).
e, e\6 e'\6
but you still have write the letters (which isn’t what you want to do). I think this is probably because otherwise LilyPond would have to decide on how to spell notes with enharmonic equivalents.