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:
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!
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.
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.