History
In the 1980s Chris Walshaw began writing out fragments of folk / traditional tunes using letters to represent the notes before he learned standard Western music notation. Later he began using MusicTeX
to notate French bagpipe music. To reduce the tedium of writing the MusicTeX
code, he wrote a front-end for generating the abc2mtex
program. For more details see Chris Walshaw's short history of ABC and John Chambers's chronology of ABC notation and software.
Standardization
The most recent standard for ABC was released 21 December 2011. It is a textual description of ABC syntax, cleaning up many of the ambiguities of the 2.0 ''Draft Standard'', which, in turn, was grown from the 1996 ''User Guide'' of version 1.6 of Chris Walshaw's original
program. In 1997, Henrik Norbeck published a text/vnd.abc
MIME media type with the Internet Assigned Numbers Authority (IANA), but registration as a top level MIME type would require a formal Request for Comments (RFC). In 2006 Phil Taylor reported that quite a few websites still serve ABC files as text/plain
.
In 1999, Chris Walshaw started work on a new version of the ABC specification to standardize the extensions that had been developed in various third-party tools. After much discussion on the ABC users mailing list, a draft standard (nominal version 1.7.6) was eventually produced in August 2000, but was never officially released. Thereafter, Chris stepped away for several years from actively developing ABC.
Guido Gonzato later compiled a new version of the specification and published a draft of version 2.0. This specification is now maintained by Irwin Oppenheim. Henrik Norbeck has also published a corresponding BNF specification.
After a surge of renewed interest in clarifying some ambiguities in the 2.0 draft and suggestions for new features, serious discussion of a new (and official) standard resumed in 2011, culminating in the release of ABC 2.1 as a new standard in late December 2011. Chris Walshaw has become involved again and is coordinating the effort to further improve and clarify the language, with plans for topics to be addressed in future versions to be known as ABC 2.2 and ABC 2.3 .
Example
The following is an example of the use of ABC notation in MediaWiki.X:
), the title (T:
), the time signature (M:
), the default note length (L:
), the type of tune (R:
) and the key (K:
). Lines following the key designation represent the tune. This example can be translated into traditional music notation using one of the ABC conversion tools. For example, the (using LilyPond's abc2ly
) code for the MediaWiki software renders this as:
z
.
Collaborative ABC
Recently, ABC has been implemented as a means of composing and editing music in collaborative environments. Some Wiki environments that have been adapted to use ABC are: * The Wiki-score platform for collaborative, large-scale score editing uses ABC as base notation. * The mw:Extension:Score, Score
plugin for MediaWiki. This uses GNU LilyPond as the underlying rendering engine. LilyPond comes packaged with a script, abc2ly
, that converts ABC notation to LilyPond. The extension calls abc2ly then LilyPond.
* MusicWiki
, a Python plugin implementation for MoinMoin wikis
* AbcMusic
for displaying ABC notation in PmWiki
* collaborative source for traditional music using a tailored version of the AbcMusic
plugin
* The gabc
notation, developed by the Gregorio Project for transcriptions of Gregorian chant scores
* ABC plugin for displaying ABC notation in DokuWiki. This plugin uses Jef Moine's abcm2ps
package as the rendering engine. It optionally uses abc2MIDI
(available from the ABC Plus Project) to produce MIDI audio output.
* EasyABC
is an ABC-editor that supports MIDI export and SVG rendering.
* abcjs
plugin for displaying ABC notation on any web page. This allows ABC to be stored as text on the server and rendered client-side.
* Zap's ABC
is an Android application combining abcm2ps
, abc2midi
, and a bit of abc4j
into a tool for composing.
* The multiplayer game The Lord of the Rings Online now uses the ABC notation to allow players to convert and play any MIDI music file in-game. The players play the music by having their character play the corresponding instrument.
* The PC game Starbound allows players to use in-game instruments to play custom music.
See also
* GUIDO music notation * Helmholtz pitch notation * LilyPond * Numbered musical notation, widely used in China * Tonic sol-faReferences
{{DEFAULTSORT:Abc Notation Music notation file formats