the abc musical notation language
This is a copy of Chris Walshaw's ABC home page.
The original (and most up-to-date version) is at:
http://abcnotation.com/.
Page last updated 10 August 1999
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-faq
... a FAQ 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
The packages which support abc notation can be found at the following
sites:
-
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) or
abc2ps
(precompiled versions for Win95)
... 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!
-
abcm2ps
(the home page in France) or
abcm2ps
(precompiled versions for Win95)
... is Jean-François Moine's clone of
abc2ps
which handles "organ stuff (many voices per staff)".
-
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.
-
abc2whis
... is a C++ code for producing penny whistle tablature from abc.
-
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.
-
JavaScore
... is another Java applet from Adrian Sulston which displays abc.
-
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. 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.
-
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.
-
sw2abc
The
Digital Tradition
is a huge song archive in which the tunes for the songs are stored in
SongWright format. Steve Allen's sw2abc is a gawk script that translates
SongWright into abc.
-
NMD2ABC
... a QBASIC program to translate the
Nottingham Music Database
format to abc.
Some suggestions (N.B. these recommendations are based on what software developers
say about their programs rather than independent testing):
- 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:
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):
Mail me
if you want to add your collection to this list.
(WARNING: over 0.9 Mbyte;
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 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
(C.Walshaw@gre.ac.uk)
Access count is since 3rd June 1997
Back to abc home page.