Abc (music notation)
abc, so capitalized by its inventor, Chris Walshaw,[1] is a special-purpose programming language for creating musical notation, where melodies are represented in the ASCII character set by the letter which corresponds to each musical note. Because of the correspondence of letters and notes, abc notation tends to be learnable by musicians who are not necessarily computer programmers. Since the introduction of the first freeware compiler in 1993, the abc language has achieved widespread use for folk and traditional tunes which are typically single-voice melodies on a single staff. With multiple freeware compilers now available, the abc language continues to grow in popularity because it provides a cost-free alternative for creating musical scores, and because it provides a standard way for people to share tunes and scores on the world wide web. Although not held by any tranditional standards body, abc can be considered to be a de facto standard due to widespread, voluntary compliance by software authors to certain written specifications.
Arguably, the abc notation has revolutionized the learning of traditional and folk music, due to the proliferation of many thousands of tunes in this format throughout the Internet. Especially in Irish and Scottish traditional music, it is now possible to find "the abc" for all but the most obscure traditional tunes. This has also given people an easy and interesting way to discuss tunes online without the technical inconvenience of a recording of the tune. As a result, tune scholarship has arguably improved by the addition of such resources as The Fiddler's Companion by Andrew Kuntz;[2] without the aggregating possibilities of the Internet, such resources would be difficult if not impossible to compile, and would in any case take much longer to compile.
Example
Here is the source code for a reel called Dickey's Discovery:
X:1 T:Dickey's Discovery C:Unknown, transmitted thru Lotus Dickey to Pete Sutherland M:4/4 Q:1/2=120 L:1/8 R:reel N:taught to Pat Palmer by Garry Moore, July 2007; played at R&O XXVIII K:D dB|:"D"A2FG FEDE | FA2B A2dB | "D"A2FG FEDF | "A"EDEF E2 dB| "D"A2FG FEDE | F2A2 f2fe | "G"d2Bc "A"BAFG |1 "D"A2 D2 D2 dB:|2"D"A2 D2 D2 (3ABc| |:"D"d2d2 "A"egfe | "G"dedB "A"ABcA | "D"dcde "Bm"fefg | "A"a2e2 egfe | "D"d2d2 "A"egfe | "D"fgaf "A"egfe | "G"d2Bc "A"BAFG |1 "D"A2 D2 D2 (3ABc:|2"D"A2 D2 D2 dB|] w: v4
and here is how the above code is rendered as a .pdf document:
Software
Windows
Five Line Skink
Five Line Skink[3] is a freeware abc editor for Windows. It is almost WYSIWYG, requiring a single mouse click after updates to refresh the display of the tune. Skink's rendering is not as fine as ps2pdf, but is fine for most purposes.
Before installing Skink, you need first to install the Java Runtime Environment (JRE)[4].
Mac OS X
Barfly
Five Line Skink
Linux
Related Utilities
This section describes how to use several free utilities to automate creation of various file types from abc input text files.
Creating .pdf files from .abc files
abc2ps
Abc2ps is a free utility, created by Methfessel, that reads an input file containing abc code and outputs a postscript (.ps) file. The music can then displayed (i.e. using ghostview) or printed on a Postscript printer. The program is written in C and runs on most systems which have a C compiler. An MS-DOS command line would look like this:
abcm2ps -O C:\tunes\ps\mysong.ps C:\tunes\abc\mysong.txt
The above command line reads input file mysong.txt and creates output file mysong.ps in the subfolders shown.
ps2pdf
References
- ↑ See Walshaw's brief introduction to abc at <http://www.walshaw.plus.com/abc/>; last accessed Aug. 21, 2008.
- ↑ The Fiddler's Companion is free and may be accessed at <http://www.ibiblio.org/fiddlers/index.html>; last accessed August 21, 2008.
- ↑ Wil Macaulay, May 2004. Skink. Wil Macaulay, May 2004.
- ↑ Sun Microsystems. Java SE Downloads. Sun Microsystems.