Since I had to figure my way through this I though I might share my findings.

On the first Sunday’s of the month I attend a Celtic music jam at the Ol’Factory Cafe and I keep a list of the tunes that are played so that I can practice. Well, once I have the list where do I go from there?

I start by finding the music in abc format from places like JC’s ABC Tune finder. ABC music is great because it’s so small. You can store thousands of songs in a couple of megabytes of space. These collections of tunes are referred to as tune books and can be found out on the web by a lot of different folks.

Here’s an example of a complete song. In this case “The Star of the County Down”

X: 1
T: Star Of The County Down
M: 4/4
L: 1/8
R: reel
K: Emin
B,D|E2E2 E2DE|G2G2 A2GA|B2AG E2DB,|D6 B,D|
E2E2 E2DE|G2G2 A2GA|B2AG E2E2|E6||
Bc|d2B2 B2AG|A2A2 A2GA|
B2AG E2DB,|D6 B,D|E2E2 E2DE|G2G2 A2GA|B2AG E2E2|E6||
Bc|d2B2 B2AG|A2A2 A2GA|B2AG E2DB,|D6 B,D|
E2E2 E2DE|G2G2 A2GA|B2AG E2E2|E6||

Looks weird in this format, but it’s small, very small, and easy to use.

I use programs like abc2ps and then ps2pdf to change the format from abc to postscript and then postscript to pdf.  Both of these either come with most linux flavors or are easily installable. This gives me a hard copy of the songs to practice with.

In this example I use the file above, called

/usr/bin/abc2ps >

/usr/bin/ps2pdf star.pdf

and Voila! It’s a pdf file score of the song. Heres a screen capture of the file.

Star of the County down

Star of the County down

Now that I have the hard copy I just need the mp3 to throw onto my ipod to practice with.

To do this I use the linux midi player Timidity++ and the audio converter lame. Both are either installed with most linux varieties or are easily installed.  To convert from abc to midi I just run the command

writing MIDI file star.mid

Then from midi to wav (don’t ask, you just have to)

/usr/bin/timidity -Ow -s 44100 star.mid
Playing star.mid
MIDI file: star.mid
Format: 0  Tracks: 1  Divisions: 480
Sequence: Star Of The County Down
Output star.wav
Playing time: ~51 seconds
Notes cut: 0
Notes lost totally: 0

From wav format to mp3

/usr/bin/lame star.wav star.mp3

LAME 3.98 64bits (
Using polyphase lowpass filter, transition band: 16538 Hz – 17071 Hz
Encoding star.wav to star.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame          |  CPU time/estim | REAL time/estim | play/CPU |    ETA
1916/1916  (100%)|    0:01/    0:01|    0:01/    0:01|   25.799x|    0:00
kbps        LR    MS  %     long switch short %
128.0        0.5  99.5        96.5   2.2   1.3
Writing LAME Tag…done
ReplayGain: +10.8dB

and we’re done. I have a nice pretty score to read and an mp3 to listen to. Of course I’ve written a couple of scripts to do all of this on the fly. I just drop my abc’s into a subdirectory and run a script and a few moments later I have all of my pdf’s and mp3’s ready to go.

One side note. To practice, you want to slow down the tune. So what I’ve done is to make 3 different directories under my tunes directory. A default, an 80 beats per minute and a 100 beats per minute. I then have my convert script make three passes, one default the the next two it tosses in two control lines between the X: and T: variables in the abc . These control the beats per minute via the Q: statement and the “%%MIDI program 40” tells the abc2midi program to use the violin voice instead of the piano.


X: 1
%%MIDI program 40
Q: 1/4 = 80
T: Star Of The County Down
And there you have it. A great way to get the music to practice with.