Hello-- I have been trying to write something to produce tablature-like notation for the harmonica. Googling revealed a post from several years ago which involved preprocessing a lilypond file. Not only out-of-date with regard to lilypond syntax, but I also prefer something that would act from within lilypond.
For background, a diatonic harmonica (using the standard Richter tuning) has ten holes. Each hole has two reeds which play two different primary notes, one during exhalation (the "blow" notes) and one during the inhalation (the "draw" notes). Some of these notes can be "bent" to a varying degree to provide some chromatic notes by flattening pitches. The site overblow.com gives a fairly complete tuning chart. One way that I have seen beginner notation for this is to have the hole numbers for blow notes and in circles for draw notes (sometimes with arrows or some other notation for bends). My first thought was to write an engraver (since that is what guitar tablature seems to do). After looking into the source a bit, and deciding to try to avoid needing to recompile, I have tried two other approaches. The first is based on adding markup to notes similar to the commented-out 'add-staccato' function in 'ly/gregorian.ly'. The second approach (which I think I prefer) is to create lyrics using similar markup. So, the markup-based approach can be seen at http://grove.ufl.edu/~bpow/lilypond-harmonica/harmonica-markup.ly and http://grove.ufl.edu/~bpow/lilypond-harmonica/harmonica-markup.pdf The lyric-based approch is at http://grove.ufl.edu/~bpow/lilypond-harmonica/harmonica-as-lyrics.ly and http://grove.ufl.edu/~bpow/lilypond-harmonica/harmonica-as-lyrics.pdf I would appreciate any comments. One area in particular that I have questions about is cleaning up the case statement that converts pitch to markup-- specifically in that I am weirdly interspersing lilypond syntax (with the '(markup #:flat #:flat #:circle "2")'-type statements). I would prefer to have a function like for blow and for draw that can incorporate parameters for the hole and the number of bends. I've tried: #(define draw hole bends) (markup (make-list-markup (append (list #:simple) (make-list bends #:flat) (list hole))))) This doesn't work, any suggestions? -- Bradford _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user