User Tools

Site Tools


ABC Notation

I learned about ABC Notation indirectly. I was looking for backing tracks to accompany me while I practice the guitar. Its fairly tedious to find exactly what I need (right speed, right key, etc…), so I thought: why not program my own tracks. MIDI seemed like the obvious starting point…everything supports it. But it turns out to be a complicated thing to program. Lots of effort would be needed, and the output isn't very human-friendly.

So I queried the package manager on my linux box, and scanned through the results. A tool called ABCMidi caught my eye because of its description:

abcMIDI is a package of programs [...] for processing ABC music notation files. 
It consists of several programs: abc2midi, abc2abc, yaps, and midi2abc.

I had no idea what ABC is, so I kept reading:

  • ABC notation can be read easily by humans and computers
  • abc2midi will create a midi file from an abc source. Exactly what I need!
  • midi2abc will do the reverse
  • abc2abc can transpose an existing arrangement
  • yaps can output music scores in standard notation
  • there is an abc plugin for my wiki!!

Very nice! That's the kind of leverage I was looking for. The idea is starting to take shape now… Use an external editor to create ABC files, then use tools to create various forms of output. Something like this:

Now I can have sheet music on my website, with PDF and other output formats available for download. Cool!

First Attempt

My first attempt at using the ABC tools was on my home Linux machine. I was able to produce all the assets as expected. Not bad for a 15-minute exercise! I uploaded the assets and put them here just for reference. Now I need to try the same thing on my hosting service. I'm certain there will be issues.

  • ABC - the ABC file
  • PDF - the PDF file
  • MID - the MIDI file1)

Second Attempt

This is my second attempt, done on my hosted website instead of my home server. It took a lot of effort to make this work properly on my hosting account. A full description of what I had to do is here.

I have to say thanks to the support staff at A Small Orange for helping to get this working. Tim G, Jayson G, Phil Z, Jason H, Josh S, and Victor T got the job done (at different times of day, of course). I don't think most hosting services would go that far. I'm happy to be with them.

Here is an example of the ABC Plugin in action.

Music Collection

1) Note: if you can't play the midi file, it could be that you have RealPlayer handling your MIDI files, which it doesn't like to do. Try QuickTime or another player instead.
/home/cfreyer/public_html/data/pages/music/abcnotation.txt · Last modified: 2009/05/04 14:22 by Chris Freyer