I feel the need to try again. Some of this is almost clear. :-) Tab is fingering. There are different types of fingering:
1. Actual finger indication, 0-4 for strings, 1-5 for keyboard. Not part of tablature, notation only. 2. String indication. Digit or lettercap inside a ring. Do re mi in ring is sometimes used in violin music, but it's hard to read and therefore hard to like. Villa-Lobos, a Brazilian, used lettercaps. Good enough for me. In tablature, normally 1st string is at top of the tabStaff. 3. Fret indication. Rare in notation except for harmonics. Part of tablature. 4. Position indication, with or without bar. It is the fret that the first finger is at. There are various ways of indicating it but the fret is always a number of some sort. Roman numerals are unfortunately common for that. Notation only. All of these may appear in notation, but only 2 and 3 in tab. A pitch and a string certainly can determine a fret indication to go in the tab, but you need an identifier for each string. The most straightforward way of doing that is to number the strings with the first, closest to the left hand, on the top of the staff. The first string is always defined in that physical way, so other ways are confusing. \stringDef c, g,, etc. c, is the open 1st string then, by default a zero on the top line. --0-- ---- -- -etc Using the identifier of your choice: \stringDef c,=x g,,=r more strings.... and you could write c,4-x instead of c,4-1, but it's the same thing in the tab, because it's still the first string. But strings have frets. The default, still using the x string: \fretDef 0 1 2 3 4 5 6 7 8 9 10 11 12 etc. \fretDef 0 (shortcut) open 0 semitones 1 2 3 4 5 6 7 8 9 note c, d, e,f, g, a, c,4-x d,4-x (still the x string) --0--2-- ------- Not the default: \fretDef a b c d e f g h i j k l m n o etc open 0 semitones 1 2 3 4 5 6 7 8 9 note c, d, e,f, g, a, c,4-x d,4-x --a--c--- -------- The fretDef in the common case maps numbers to the open string and its frets, which correspond to the open string note and a list of semitones. The point is that the \fretDef determines what is printed for each semitone going up the string. If there is no semitone, put a placeholder. I'm using an x, but absolutely anything would do because its printing would simply be an error. fretDef is necessary because there are instances of using letters instead of numbers to indicate frets, a strange situation (archlutes) where you would want a few notes in reverse order, cases where the frets might not be chromatic, and cases where the strings are of unequal length so the first fret *of that string* is not the fret you want to indicate in the tab. Banjo works this way. The open 5th string (left column) and the 5th fret on the 1st string are the *same note*, and of course the 1st and 5th strings have the same note at every higher fret. 54321 = physical string 0000 = which is open 1111 = 1st fret 2222 3333 4444 05555 66666 77777 88888 For the 5th string then: \stringDef d' b g d g' \fretDef 0 \fretDef 0 \fretDef 0 \fretDef 0 \fretDef 0 6 7 8 9 etc or \fretDef 0 6 But if the frets are not chromatic, it's still easiest to map to semitones. Dulcimer 321 string (I think--this is a zither and may well be numbered differently.) 000 open semitone but nothing there 111 first fret at whole step. (ton) semitone no fret 222 333 444 \stringDef c,=x g,,=r g,,=y \fretDef 0 x 1 x 2 3 x 4 \fretDef 0 x 1 x 2 3 x 4 \fretDef 0 x 1 x 2 3 x 4 note c' d' e'f' g' (first string only) So: c,4-x gets --0-- ----- etc. cis,4-x gets you an x on the line, but that doesn't matter because you shouldn't have written the cis, because it is not possible to play it, because there is no fret there. c,4-x d,4-x e,4-x f,4-x gets you 0--1--2--3-- ----- Map the strings and map the frets and anything using western notes can be done. -- ------------------------------------------------------------ Information is not knowledge. Belief is not truth. Indoctrination is not teaching. Tradition is not evidence. David Raleigh Arnold [EMAIL PROTECTED] _______________________________________________ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user