Typesetting Tin Whistle music in GNU Lilypond

I use GNU Lulypond for typesetting music; it is a free and open source application which produces very nicely formatted sheet music. It is available for Linux, Windows and Mac OSX; I run it on openSUSE Linux.

Recently, I have been using it to typeset a lot of tunes for tin whistle; as I collect the tunes from different sources, I like to add them to my collection in a standard format. Although most musical notation is pretty much standard, one aspect which varies from source to source is how to notate tin whistle ornamentation (eg cuts, strikes, etc). I like the notation proposed by Grey Larsen (in his book: The Essential Guide to Irish Flute and Tin Whistle) which is documented on his website: A Guide to Grey Larsen’s Notation System for Irish Ornamentation [PDF] (GreyLarsen.com).

Grey’s notation does not exist within Lilypond so, in order to make use of it, I have to use a little cunning. By using existing available notation, it is possible to generate something which approximates the notation I am after:

My sample was created with the following Lilypond code:

cut       = ^\markup{\magnify #1.5 {"⎖"}}
strike    = ^\markup{\magnify #2 {"˅"}}
roll      = ^\markup{\rotate #180 \magnify #2 {"˘"}}
crann     = ^\markup{\rotate #270 \magnify #2 {"˘"}}

\header {
  title = "Tin Whistle Markup"

\new Staff {
    \new Voice = "Tune" {
      \relative c'' {
	\partial 4
	a\cut a\strike a\roll a\crann
    \context Lyrics \lyricsto "Tune" \lyricmode {
      " " " cut " " strike " " roll " " crann "

To make use of the notation in your own music, just include the four highlighted lines at the top of your Lilypond code. You can then write, for example, c\cut in your melody to indicate a cut on C, or f\roll to indicate a roll on F.

A font, containing Grey’s original symbols, is available for free from his website. I would like to integrate this font into Lilypond, but that is a bigger job than I can face today. I will post details here when I pursue it further.

Post to Twitter Post to Facebook