lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Diatonic Instruments (Mountain Dulcimer)


From: Carl Sorensen
Subject: Diatonic Instruments (Mountain Dulcimer)
Date: Fri, 8 Jul 2011 20:41:09 -0600

In thinking about this some more, it's currently doable, as long as you only
want tablature, not fret diagrams.

Consider a traditional dulcimer with no extra frets.

It has frets that are spaced by the following number of semitones:
2 2 1 2 2 1 2 2.

If we use the following for fretLabels, it will work:

("0" "x" "1" "x" "2" "3" "x" "4" "x" "5" "6" "x" "7" "x" "8")

The frets labeled "x" are frets that don't exist on the dulcimer.

For a 6+ dulcimer, you'd have:

("0" "x" "1" "1+" "2" "3" "x" "4" "x" "5" "6" "x" "7" "x" "8")

For a 1+ and 6+ dulcimer, you'd have

("0" "x" "1" "1+" "2" "3" "x" "4" "x" "5" "6" "6+" "7" "x" "8")

This isn't a perfect solution, because we can still call out pitches for
nonexistent frets.  A better solution would define the pitches of frets, and
would call out a warning if the fret didn't exist.

You can see examples of this in input/regression/tablature-letter.ly.

Here's some sample code:

notes = \relative c'' {
  d4\1 e\1 fis\1 g\1
  a4\1 b\1 c\1 d\1
}


\score {
  \new TabStaff
  \with {
    stringTunings = #`(,(ly:make-pitch 1 1 0)
                       ,(ly:make-pitch 0 5 0)
                       ,(ly:make-pitch -1 1 0))
    fretLabels = #'("0" "x" "1" "x" "2" "3" "x" "4" "x" "5" "6" "x" "7" "x"
"8")
    tablatureFormat = #fret-letter-tablature-format
  }
  \new TabVoice {
    \notes
  }
}










reply via email to

[Prev in Thread] Current Thread [Next in Thread]