Saturday, August 04, 2007

Tune Notation Computer Language

This is an interesting computer language: A human-readable format for music notation.

abc is a language designed to notate tunes in an ascii format. It was designed primarily for folk and traditional tunes of Western European origin (such as English, Irish and Scottish) which can be written on one stave in standard classical notation. However, it has been used for many other types of music and, for example, Steve Allen has coded Beethoven's Symphony No. 7, Movement 2 in abc!

Since its introduction at the end of 1991 it has become very popular and there now exist many abc software tools (for Windows, Mac, Palmtop and UNIX platforms) which can read abc notation and either process it into staff notation or play it through the speakers of a computer.

One of the most important aims of abc notation, and perhaps one that distinguishes it from most, if not all, computer-based musical languages is that it can also be read easily by humans.
It can be translated to music notation via a program called abc2mtex, but it sounds like it's not a full-featured lexicon and development tapered off some years ago. I suppose it would be easy (and has been done) to describe music via XML, but that is highly verbose. This particular approach allows you to read the computer language at an instrument if you like. Neat!

Labels: