Lilydrum: (Pipeband) Highland Drumming notation using Lilypond

Published: , – Last Update:
Jump to example

If you are looking for some lilypond files concerning pipeband drumming (tenor flourishing, highland snare drumming), you are in the right spot. LilyPond is an opensource music engraving program using text as input (much like LaTeX).

LilyPond does not provide a standardised way to accomodate Pipeband Drumming, like there is for Bagpipe notation. Before lilydrum, Simon Froger already submitted a piece of code to the Lilypond Snippets Repository, which could simply be included for this to work. This was the starting point for lilydrum, after which some flourishing symbols were added. Eventually, some extras were added (such as automatically switching flams/drags/ruffs, and a tutti music function) but at the core, most of it is still Simon's work.

Below is an annotated example of using lilydrum. For more ideas of working with lilydrum, you can look at the links below. You might also be interested in looking at my working tree, and the generated output at /scores/pipeband/table/ (now with search functionality!) for inspiration.

For any comments or requests you can find me at scoring at this domain or on github (with issue tracker).

Example for a Stock 6/8 score

The Source

Go to Score Download Source
% This file compiles with at least version 2.19.80
\version "2.19.80"

% Include lilydrum before any music is defined
% it *will* complain otherwise about the d's and the g's
\include "lilydrum.ly"

% Give it a title with standard settings
\header { title = "Standards 6/8" }

% Change Options for printing
\layout {
  % Remove the indent in the first system
  indent = 0.0
}

% Start the score
\score {
		% We want a drumstaff regularly used for pipebands
		\new PipeBandDrumStaff {
			% Signal lilypond we will be using drumnotation
			\drummode {
				% The time signature is 6/8
				\time 6/8
				% Start the bar as a repeat with an anacrusis
				\repeat volta 2 {
					\partial 8
					% Regularly the format is A - B - A - C
					% so we use an unfolded repeat with alternatives
					% to keep us from writing A twice
					% You could also use variables here
					\repeat unfold 2 {
						% Start with a seven roll
						% Then continue with a few drags
						% Normally beaming does not need to specified
						% Except for drags, they break the automatic beaming
						d8:32( |
						g8.)[ g16 \drag d8]	d8.[ d16 \drag g8] |
						g8.[ \drag d16 d8]	d8.[ d16 \drag g8] |
					} \alternative {
						% The first alternative
						{
							% The next part is played in unison the first time through
							\tutti {
								\flam d8. d16 g8	d4.:32( |
								d8.) g16 d8	\flam g4
							}
						}
						% The second alternative
						{
						  % This part is also played in unison the first time through
							\tutti{
								\flam d8. d16:64( d8)	\flam d8. d16 \flam g8 |
								d8.:32( d16) \flam g8	\flam d4
							}
						}
					}
					% Pad the score a bit so we can make sure we are at the end of a bar
					% This spacing note is of the time we used for the upbeat
					s8 |
				}

				% Make sure there is a newline for the next few measures
				\break

				% Let's try again with another line
				% This one containing a few triplets
				\repeat volta 2 {
					\partial 8
					\repeat unfold 2 {
						d8:32( |
						\tuplet 3/2 { g8) d g } \flam d8		\tuplet 3/2 { d8 g d } \flam g8 |
						d16 g d-> g d g  \flam d8. g16 d8 |

					} \alternative {
						% We don't actually need the outermost braces of the alternatives used in the first line
						\tutti {
							\flam d8. d16 g8	d4.:32( |
							d8.) g16 d8	\flam g4
						}

						\tutti{
							\flam d8. d16:64( d8)	\flam d8. d16 \flam g8 |
							d8.:32( d16) \flam g8	\flam d4
						}
					}
					s8 |
				}
			}
		}
	}
<cool> </cool>