the abc musical notation language
Page last updated 5th November 2002
Contents:
[une traduction partielle (en français) de cette page peut être trouvée
ici]
introduction
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 is extendible to many other types of music and recently 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 several PC and UNIX based tools
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-readable
musical languages is that it can be easily read by humans. In
other words, with a little practice, it is possible to play a
tune directly from the abc notation without having to process and
print it out. Even if this isn't of interest, the resulting
clarity of the notation makes it fairly easy to notate tunes.
In addition, the ability to write music in abc notation means that it can be
easily and portably stored or transported electronically hence
enabling the discussion and dissemination of music via email.
As an example the tune Paddy O'Rafferty would be written out as
T:Paddy O'Rafferty
C:Trad.
M:6/8
K:D
dff cee|def gfe|dff cee|dfe dBA|dff cee|def gfe|faf gfe|1 dfe dBA:|2 dfe dcB||
~A3 B3|gfe fdB|AFA B2c|dfe dcB|~A3 ~B3|efe efg|faf gfe|1 dfe dcB:|2 dfe dBA||
fAA eAA|def gfe|fAA eAA|dfe dBA|fAA eAA|def gfe|faf gfe|dfe dBA:|
After processing a typical result might look like this (using abc2mtex):

abc notation - standards, new developments and history
To find out about how to use the notation have a look at the
abc standard V1.6
which describes the (simple) rules of abc
(although note that this was written by Chris Walshaw for abc2mtex and
so doesn't include some of the extensions found in other packages)
[une traduction (en français) de cette page peut être trouvée
ici].
A version of the standard has since been developed in
BNF format
by
Henrik Norbeck
and abc has been registered as a
MIME type
by
Steve Allen
which may help in triggering the development of Web Browser Plug-Ins which can
process abc files.
A new version of the standard is under discussion on the
abcusers mail list
and a
draft revised standard
is available. A
short history of abc
is also available together with a
chronology
of developments in the software.
abc tutorial
... a tutorial put together by Steve Mansfield.
abc-faq
... a list of Frequently Asked Questions put together by John Chambers.
abcusers mail list
... a mailing list intended as a forum for discussing
the abc notation and the software tools to handle abc.
abc software packages
There is now a vast array of software (mostly freeware or shareware) which can read or edit abc.
It is almost impossible to maintain a list of what software has which functionality on which machine but the following suggestions may help
(N.B. these recommendations are based on what software developers say about their programs rather than independent testing).
Another useful and more structured site is the Musica Viva online search directory of abc applications.
See below for further details of the suggested software plus many other packages.
Some suggestions:-
- To convert abc to sheet music:
Note that to handle Postscipt files (generated by abc2ps, abcm2ps and abc2mtex)
you may need to install
Ghostscript
and
GSView
- To play music on your machine:
-
abc2mtex
at Greenwich, UK; or
abc2mtex
at Ceolas, US
... is the original abc package for converting abc into sheet music.
It is freeware and should
in principle work on any platform (PC, Mac and UNIX). However,
you will also need to install all (or at least a large part)
of the TeX and MusicTeX packages. These too are freeware
but may take considerable efforts to set up (although
they are often available on UNIX systems in educational establishments).
-
abc2ps
(the fully tested released version from Ceolas, USA) or
abc2ps
(the latest version with new and experimental features from Germany)
... is Michael Methfessel's package for converting abc into sheet music
which avoids the need to install TeX and MusicTeX. A
Mac version
is now available!
-
jcabc2ps
... is John Chambers' clone of abc2ps. It implements a number
of extensions to handle the variants of abc that the
abc tune finder finds on the web. These include several
syntaxes for clefs, multiple voices, endings past the second,
and non-classical key signatures.
-
abcm2ps
... is Jean-François Moine's clone of
abc2ps
which handles "organ stuff (many voices per staff)".
-
jaabc2ps
... is John Atchley's version of abcm2ps (including precompiled versions for Windows).
-
YAPS (yet another abc to PostScript converter)
... is James Allwright's merge of the
abc2midi parser and
the library of PostScript routines from
abc2ps.
-
abc2win
... is a package by Jim Vint aimed at PC users which
supports the entry of abc notation and viewing
the musical notes onscreen in Microsoft Windows including Windows
3.1, Windows for Workgroups 3.11 and Windows 95. It will read and
update files of abc tunes. Tunes can be played over the PC
speaker as a means of checking the accuracy of the notation.
It is a shareware package so you can use it for free to view and
play music and pay a (small) registration
fee if you wish to print out the music.
-
abcmus
Henrik Norbeck's abc player/tunebook manipulator for MSWindows with
lots of nice features (search, automatic chordsetting, different
import and export options, etc).
-
abc4mac
from Wil Macaulay; or
abc4mac
at Ceolas, US
A Mac program for abc users incorporating ports of abc2ps
and abcMIDI.
-
BarFly
Phil Taylor's Mac program for handling abc musical notation.
It can play, check, transpose and display tunes in abc notation.
-
Muse
... is a full-scale shareware music editor from Laurie Griffiths that speaks abc.
It can print, play, handle up to 8 harmony parts and even create guitar
tablature and runs under Windows 95 or Windows NT.
-
Melody Assistant
... is a full-scale shareware score editor that speaks abc.
It can print, play and even create guitar
tablature and runs on both PCs and Macs.
-
PalmABC
... is an abc player/editor from Steve Spencer-Jowett which runs on Palm Pilots.
-
Tune Pal
... is an abc player from Bryan Duggan which runs on Psion handheld computers.
-
ABC Viewer
... is an abc viewer from Dave Holland which runs on Palm Pilots.
-
Virtual Composer
... is a score editor for the Mac from Ioannis Galidakis which exports abc (but does not read it).
-
MusicEase
... is a full-featured Windows based editor which imports abc and SongWright files.
Edits, transposes, prints and plays. New features include automatic conversion to
tablature, automatic addition of chord fret diagrams, and general MIDI
instrument support. Also available from the same site is the
Digital Tradition Folksong Player
-
Runabc.tcl
... is a Tcl/Tk GUI (graphical user interface) for abc2ps & abc2midi from
Seymour Shlien which helps you manage a database of abc tunes. Requires Tcl/Tk
8.0 or higher.
-
AbcView
... is a Java applet from Rick Miller which displays abc on
any Java 1.1 compliant web browser.
-
Skink
... is a java application from Wil Macaulay which supports the abc 1.6 standard.
It can open, edit, save, and display abc files.
-
abctostaff
... is a web-based abc to staff converter from Steve Havelka which converts single abc tunes to postscript.
-
TablEdit
... is a Windows program for creating, editing, printing and listening to
tablature and sheet music (standard notation) for guitar and other
fretted, stringed instruments (including 5 string banjo) as well as harmonica,
diatonic accordion, drums and violin. TablEdit can both read & write
ascii, MIDI & abc files (and read Bucket O' Tab & Tabestry).
-
ABC2Tab
... is an abc to Mountain Dulcimer ASCII Tablature convertor from Lyle Melick.
It is currently available as a Windows95 & WindowsNT command line program and PERL source code.
-
abctab2ps
... is a program from Christoph Dalitz for typesetting music and lute/guitar tablature with abc.
It is available on Unix, Windows & Atari platforms.
-
m2g
... is a program from Jerry Dallal to add abc guitar tab notation to abc music notation for Windows based computers.
-
SET6
... is a package by William Robison specifically
designed for notating Highland Bagpipe music. It has its own input
language but a program to convert abc to this format is supplied.
It can also handle Bagpipe Music Writer files and can output in
a variety of different formats. Executables are freely supplied for
PC and HP/UX users (but not the source code).
-
playabc
... is a program by Don Ward which will play abc files through the speaker of
most UNIX systems.
-
PlayQABC
... is a part of Jim Vint's abc2win package for PC users,
but is also available for free as a standalone to play abc
tunes on any PC/DOS system.
-
AbcPlay
An ABC player for a PC Windows system with a Midi/Sound card. The program
has a number of handy features to make to hearing of ABC files easy, also
has cut/paste functions and the ability to save tunes as a Midi File.
Written by Bernard Chenery, Tasmania.
-
abcMIDI
James Allwright's package to convert abc to MIDI and MIDI to abc.
Since most standard music packages support MIDI output, this should make it
easier to generate abc from commercial software. It is available on the
web as C source code. It also contains abc2abc which can be used to
transpose abc.
-
abcMIDIfier
A Windows utility by Dave Glenn which provides a user-friendly front-end to
James Allwright's
abcMIDI
package.
-
indexabc
Ever wanted to find the name of a tune ... or remember how the last part
of it goes? If you can remember the first couple of bars, you can
use indexabc to search through all your tune files (or anyone else's
that you've downloaded) to find tunes beginning with that sequence of notes!
In any key!! Also useful for making a customised index of your abc tunes and
sorting it in any one of hundreds of ways.
-
ABCTools and ABCFind
ABCTools is a Windows program that lets you transpose ABC tunes, make cheat sheets, check the syntax of your tune files, and more. ABCFind is a Windows program that lets you search ABC tune files for text or tune fragments. You can look for tune titles (or any text string) in your ABC files, search for tunes if you know the first (or any) bar of the music but not the title, compare tunes, and more.
-
arranger
... is a PC program from Neil Jennings which reads abc format files, adds chord
symbols, and rewrites a new abc file.
-
abctwin
... is a program from Phil Todd which can create 2 and 3 part harmony for an abc
melody and save them either as chords or as separate abc files.
-
NMD2ABC
... a QBASIC program to translate the
Nottingham Music Database
format to abc.
-
JedABC
... from Guido Gonzato is an extension to the Jed editor that turns it into a powerful
and easy to use IDE (Integrated Development Environment) for ABC files, with
full integration with converters, players and previewers.
-
abcpp
... from Guido Gonzato is a simple yet powerful preprocessor designed for, but not limited
to, ABC music files. It provides conditional output, macros, symbol
renaming, and file inclusion.
-
abc2prt
... from Guido Gonzato is a simple tool to extract parts from multivoice ABC music files.
-
abc music notation utilities
... from Luis Pablo Gasparotto is a collection of packages for abc to abc processing, which can compress rests, reduce accidentals and extract parts.
-
abc-mode.el
... from Matt Junker is an emacs major mode for editing abc files designed for use with abcm2ps and abc2midi, but easily customisable for other packages.
abc collections
There are now a large number of abc-notated tunes available
on the internet (mostly folk & traditional). Have a look at (in no particular order):
- Beethoven's Symphony No. 7, Movement 2, coded by Steve Allen
- Mozart violin sonatas, coded by Seshadri Gopalakrishnan
abc versions of historical tunebooks
- Henry Ford's tunes from the Northumbrian Minstrelsy and Walsh's Lancashire Jigs, etc
- The English Dancing Master by John Playford (1651)
- The Village Music Project (traditional English music from original manuscripts)
- Renaissance polyphony from Laura Conrad
- Jack Campin's tunes (various)
- Eric Forgeot's collection of traditional & ancient music
song collections
- Mudcat hosts the Digital Tradition collection of folk songs; many of these have abc versions of the tune
large abc collections
- The Ceolas tune archive
- Bernie Stocks' Irish Music Books
- Steve Allen's Morris library
- Richard Robinson's Tunebook (plus other abc files)
- Chris Ricker's Irish Music Page
- Henrik Norbeck's ABC tunes
- James Allwright's abc version of the Nottingham Music Database
- John Chambers' abc collection
- Sylvain Piron's French Trad abc collection
- Toby Rider's traditional Scottish tunes in abc
- Trish O'Neil's tunes from the web
- abc tunes from Cranford Publications
- Steve Mansfield's abc tunes from Le Grand Session de Manchester, the woodenflute mailing list and others
- Dublin City University Trad Society Archive of tunes
- Dan Cobb's Irish Tunes
- Simon Wascher's Tune Collection
- Tito's Traditional Music of Asturies
- Frank Nordberg's abc site (Musica Viva)
- Favourite English dance tunes from the Lewes sessions, Sussex
- Tunes from Christoph Zeiler's diatonic button accordion page
- Martin Doering's Folk Song Collection
- Traditional Irish Dance Tunes from Devin McCabe
- Luis Miguel Escalona's Music from Huesca in Aragon
- John Layton's big list, a single file containing many of the collections listed here
- Tunes from Alf Warnock & Bruce Osborne
- Zouki's abc collection
- Antonio's abc collection
other abc collections
- The Gaelic Song archive
- Steve Bliven's transcription of John of the Greeny Cheshire Way by John Offord
- Dan Beimborn's collection of Irish tunes
- James Allwright's abc tunes
- Alan Ng's transcriptions
- Irish tunes for the Anglo Concertina
- Michael Loehr's Flying Folk pages
- Graham McDonald's Australian Dance Music
- Ronan Keryell's Breton tunes
- Chas Fowler's Pipers Corner
- Stephen Klein's fiddle tunes
- The North American Fiddlers Association's tune collection
- Chris Falt's fiddle tunes
- Seymour Shlien's Balkan & Israeli Dances
- abc tunes from the Contradancers of Hawaii
- Robert Blakeley's Irish Music
- Loretta Reardon's European and American fiddle tunes
- Liam Hart's Gaelic Song Texts
- Paul Slater's abc tunes
- Jean-Marc Henry's tunes
- Dale Reid's Music of the Renaissance Faire
- Jeremy Keith - The Session
- Malcom Downie's Tune Sets
- Bernard Loffet's abc's and diatonic accordion tablature
- Lennart Sohlman's Swedish Fiddle Tunes
- An archive of lute and ensemble music from Taco Walstra
- Hermann Fritz's tunes
- Joel Mayes' Accordion Tunes
- Lesl's Welsh Collection
- Bill Anderson's collection of Macedonian, Bulgarian, Greek, Turkish and Kurdish tunes
- The Chiff and Fipple Tune-of-the-month archive from Robert Doiel
band repertoires in abc
- Spike Island Band Music Collection
- The Ceili House Band
- Scottish, Irish & Welsh Tunes from the band Wild Dismay
- Tunes from the band The Pub Scouts
- Tunes from the Massif Village Orchestra project
- Tunes from Knit Your Own Yoghurt
- Tunes from The Cat's Whiskers Barn Dance Band
original tunes in abc
- Contemporary compositions in abc
- Mark Fitzsimons' Tunes
- Stephen McNally's Tunes
- Cranford Publications have archives of tunes by Jerry Holland and Brenda Stubbert
- Fiddle tunes from Harry Bolick
- Compositions of Michael Repoulis
- Tunes from Aidan Crossey
- Your Tunes - a site provided by Roy Powell to host self composed tunes
- The Plumber of Hornpipes - a site dedicated to the late great Ed Reavy
Mail me
if you want to add your collection to this list.
the web-wide abc index
(WARNING: nearly 2 Mbytes;
the sectionalised
web-wide abc index is available in bite-sized chunks.)
The idea of the web-wide abc index is to collect together a central
list of all abc tune collections on the web. A simple way of using the
index is to search through the tune names using your favourite web
browsers search facility. You can click on the file code to take you
straight to the desired file. Alternatively you can download the
thematic index
and use the tools provided by
indexabc
to search for tunes beginning with a certain sequence of notes.
The file codes I use in the index can be found
here.
I haven't indexed all the internet collections as many are based around
one tune per file (and it would take forever to download them all). If you
want a collection included in the index, just mail me
the abc file(s) and the URL of where it can be found on the web.
Note also that I don't index files with a .htm or .html suffix (for reasons why not see the
abc-faq
and search for suffix).
abc tune finder
... a search engine from John Chambers for finding tunes published on the web.
other useful links
abc international
The multinational abc software conglomerate.
Products shortly to be released from abc international:
- abc2trad
... introduces random gracing, bum notes and dodgy variations.
- replayabc
... plays abc tunes over and over again ad infinitum.
- detune
... takes the output of playabc and plays it slightly sharp or flat of concert pitch.
all of which combine into one mega package:
- abc2session
... splits the output of playabc seven ways, pipes each through abc2trad,
then through replayabc and finally through detune. Optionally adds a
bodhran backing track with random synchronisation.
Out on the shelves as soon as I get my head together:
- abc2newage
... takes any tune in abc notation and plays a piece of music
(always the same piece of music, of course) that sounds
identical whether played forwards or backwards. Optional flags for dijeridoo,
whale song and forest rain. Being developed in collaboration with D. R. Evans.
And for the singers among you:
- abc2finger-in-the-ear
... introduces nasalisation, audience chorus effect and forgets the words half way through the song.
further information (polite notice)
If you have more questions
about abc probably the best thing to do is to join the
abcusers mail list
and post a question there. Alternatively you could post a question to some of
the related newsgroups (such as rec.music.celtic) or mail lists (such as
irtrad-l) where a lot of abc users hang out. Questions about specific abc
software packages should go the author of the package (not
to me - except for abc2mtex). Requests to include collections of tunes
on this page or in the web-wide index should come to me, but please note
that I don't make other peoples collections available from my web page
so you should send me the internet address of the collection (the URL)
rather than the collection itself. Finally, I find I am increasingly busy
these days and abc tends to come at the very bottom of the priority list :-(
... unfortunately this means that I sometimes don't get round to replying
to abc related mail for months. Sorry.
Chris Walshaw
Access count is
since 3rd June 1997
Back to
[home page
| abc home page
| music page]