ABC
ABC is a fairly popular choice for text edited music notations, originally created by Chris Walshaw. Now quite a lot of software evolves around this notation, most of them adding bells and whistles on top of original ABC standard, because (as ABC Plus project has pointed out) ABC is originally for simple melodies only, and incapable of handling complex music structure. However these additions are done in an uncommunicated matter, causing incompatibilities among themselves. An effort to unite all these extras is ongoing.
In ScoreRender, abcm2ps (written by Jean-François Moine) is specifically picked among others, because of its capability to render polyphonic music. Windows binaries are readily available on ABC Plus website, while some Linux distributions have also included abcm2ps into their repository. Under the unlucky case that your Linux distribution doesn’t include abcm2ps, you can still download source code from official website and compile.
Usage
Enclose ABC fragment with [abc] and [/abc] pair.
Official Documentation
The full text of ABC standard itself is on Sourceforge ABC Project website.
There is no complete reference covering all extensions used by abcm2ps yet. The best one can get is to read the features.txt and format.txt included inside source code.
Other external documentation
(This is unordered and by no mean complete, resource about ABC tutorial and software is comparatively much richer than any other notation)
- An ABC primer: a simple introduction to ABC notation, by John Chambers.
- ABC music notation tutorial (part 1, part 2), by Steve Mansfield.
- Making Music with ABC Plus: Guido Gonzato has written a manual on ABC Plus, which focus on using
abcm2ps. - A collection of ABC music, compiled by Chris Walshaw.
- Some other resource links available on ABC Project website.
- Another collection of resources on ABC, by Gordon J. Callon (down?)
- Wikipedia Entry of ABC notation
- Chris Walshaw has written a more elaborative introduction that covers the basics of notation.
Getting started
An ABC score is divided into two sections: header and body. Header contains one or more ‘fields’, which is indicated by a single capital letter followed by a colon, like:
X:
M:
K:
After that comes the notes. Let’s use the three-blind-mice example:
[abc]
X:1
M:4/4
L:1/4
K:C
EDC2|
[/abc]
![]()
(no midi download)
M:indicates time signature in usual fractional notation, like 6/8, 2/4 and so on. ‘C’ means common time and ‘C|’ means cut time. Therefore this simple fragment can be replaced withM: C.K:is key signature. Appending a ‘b’ or ‘#’ means flat and sharp respectively, likeGb,F#etc. Furthermore, appending a small ‘m’ means minor (default is major), likeC#m.- Before looking at the notes, one must take care of the
L:field first, which means default note length. It’s usual to use the most common note length here, which is crotchet (1/4). If it is deemed as neccesity to change later, it can be specified again (as most of the fields do) in the middle of score. - There are just 3 notes:
E,D, andC2. The ‘2′ here means note length shall be multiplied by 2 (becoming minim). One can choose to separate the notes with spaces but that’s not necessary. - The ‘|’ symbol following the notes means a normal bar. Many kind of bars are possible using different symbols.
- There is one last field haven’t talked about, the
X:field, which is called a “reference number”. You can think like storing multiple songs within a single file, and each song would be picked according to its reference number. It’s more like a common practise to store only one song in a file now, so mostlyX:1would be the only one used. X:must be the first field in header, andK:the last one before notes.


