abc-notation-guide LONG!!

Doris Diedrich dido at
Fri Sep 22 04:41:15 PDT 1995

This is what the author of abc2mtex says about that abc notation:

I have had several requests for information on how
the abc notation used by abc2mtex works (mostly from
people who haven't got TeX readily set up for them). Anyway,
I've hacked the userguide about a bit and produced this ascii
version (for anyone who might be interested in using it
for swapping or storing tunes electronically).
	Chris Walshaw
	C.Walshaw at
		abc notation
Each tune consists of a number of information fields followed  by
the  notes  in  abc  notation.  As  an  example  the  tune  Paddy
O'Rafferty would be written as follows:

T:Paddy O'Rafferty
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:|

Although it is of no importance what order the fields come in  if
you  are just using the notation on it's own, the order does have
some importance if the tune is to be typeset  with  abc2mtex.  It
would  be  helpful  (for  those of us who do use it) if the first
field was the tune title (T:) and the last one the key (K:).

The following are information fields which can be used at present
(though more can be defined if necessary):-

T:	tune title. Some tunes have more than one  title  and  so
	this field can be used more than once per  tune.  It  can
	also be used within a tune to name parts of a tune  -  in
	this case it should come before any key or meter changes.

C:	composer (optional). Most of my tunes are C:Trad.

M:	meter, i.e. M:4/4, M:6/8, ... In addition M:C or M:C| can
	be used  for common time and cut time respectively.  This
	field  can  also be used in the  middle  of  a  tune  for
	changing meter.

L:	default note length,  i.e.  L:1/4  -  crotchet,  L:1/8  -
	quaver,  L:1/16 - semi-quaver  (optional  -  the  default
	note  length  is  automatically set by  the  meter  field
	(M:). This field  can  be also  used  in  the  middle  of
	a tune for changing default note length.

S:	source, i.e. where the tune came from (optional).

N:	notes, i.e. anything else of interest (optional).

A:	area, i.e. where the tune comes from e.g. A:Bampton  (op-

W:	words or lyrics (optional). This field can either come in
	the  header or within the tune; there is no alignment  of
	words to notes.

O:	origin e.g. O:I or O:Irish - Irish, O:E - English, O:S  -
	Scottish, ... (optional).

P:	part (optional). This field can either be used within the
	header   to   note   the   order   in which the parts are
	played,  e.g.   P:ABAC  or within the tune to mark parts,
	e.g. P:A or P:[B].

R:	tune type, e.g. R:R or R:reel - reel, R:J  -  jig, R:SJ -
	slip jig, ... (optional).

H:	history, can be  used  for  multi-line  stories/anecdotes
	connected  with  the tune, all of which will  be  ignored
	until the next field occurs (optional).

Z:	transcription notes (optional).

K:	key, e.g. the standard keys K:D,  K:G,  K:Am,  K:Bb,  ...
	or  mixolydian  and  dorian  modes e.g. K:AMix or K:EDor.
	This   field   should   be   the  last field used (if you
	want  to  make life easy for abc2mtex  users).   It  can,
	however,  also be used in the middle of a tune for chang-
	ing key.

abc tune notation
The following letters are used to represent notes:-
                                               -c'- ----
                                       -a- --- ---- ----
---- ---- ---- -C-
---- -A,-

They can be modified in length - see below.

	Note lengths

Each meter has a default note length and a single letter  in  the
range  A-G,a-g  will generate a note of this length. For example,
in 3/4 the default note length is a quaver (eighth note)  and  so
'abc'  represents  3 quavers. The following meters are recognised
by abc2mtex:-

Meter		Default Note Length
2/2		quaver      (1/8th note)
2/4		semi-quaver (1/16th note)
3/2		crotchet    (1/4 note)
3/4		quaver      (1/8th note)
3/8		semi-quaver (1/16th note)
4/4, C, C|	quaver      (1/8th note)
5/4		quaver      (1/8th note)
6/8		quaver      (1/8th note)
7/4		quaver      (1/8th note)
9/8		quaver      (1/8th note)
12/8		quaver      (1/8th note)

Notes of different lengths can then be obtained by simply putting
a  multiplier after the letter. Thus in 2/4, 'A' is a semi-quaver
(1/16th note), 'A2' a quaver (1/8th note), 'A3' a dotted  quaver,
'A4'  a crotchet (1/4 note), 'A6' a dotted crotchet, 'A8' a minim
(1/2 note), and so on, whilst in 3/4 'A'  is  a  quaver,  'A2'  a
crotchet, 'A3' a dotted crotchet, 'A4' a half note, ...

The default note length can be changed with the L: field.

Note that abc2mtex versions prior to 1.2  did  not  have  the  L:
field and used `s' and `l' modifiers on the meter to respectively
double or half the default note lengths. For example, M:2/4s  has
a  quaver  as  the  default note length, while M:4/4l has a semi-
quaver.  This notation is still supported.


Rests are generated with a 'z' and can be modified in  length  in
exactly the same way as notes can.


How notes are grouped  together  under  a  beam  is  only  really
relevant  if  you  are  typesetting  the music. However, grouping
notes together in the abc notation does make the tune much easier
to  'read'  straight from the ascii, e.g. in a jig notes are nor-
mally grouped in two triplets to the bar - in abc  notation  this
looks like '|abc def|ABC DEF|'.

To group notes together under one beam for abc2mtex  they  should
be  grouped together without spaces. Thus in 2/4 'A2BC' will pro-
duce a quaver followed by two semi-quavers under one beam, whilst
'A2  B  C' will produce the same notes separated. The beam slopes
and the choice of upper or lower staffs are chosen automatically.

	Repeat/bar symbols

The symbols '|', '||', ':|', '|:' & '::'  are  used  respectively
for  a bar line, double bar, left repeat, right repeat and left &
right repeat.

	First & Second Repeats

First & second repeats can be written with  the  symbols  '[1'  &
'[2'.  These  should  come  after  the bar or repeat symbol, i.e.
'faf gfe|[1 dfe dBA:|[2 dfe dcB||'. It is also possible  to  code
these with the notation '|1' & ':|2' (and indeed ':|1' & '|2').


The symbols '^', '=' and '_' are used (before a note) to generate
respectively a sharp, natural or flat.

	Changing key mid-tune

To change key simply put in a line with a key  (K:)  field,  e.g.
ed|cecA B2ed|cAcA E2ed|cecA B2ed|c2A2 A2:|
AB|cdec BcdB|ABAF GFE2|cdec BcdB|c2A2 A2:|

	Changing meter mid-tune

This is accomplished in exactly the same  way  as  changing  key,
only with a meter (M:) field.

	Resetting the default note length mid-tune

Again accomplished in the same way as  changing  meter  but  with
L:1/4  -  crotchet,  L:1/8 - quaver or L:1/16 - semi-quaver. This
enables tunes which are mostly  written  with  eighth  notes  but
which  feature  sixteenth notes in just one bar to be written out
easily.  Note that the M: field  also  resets  the  default  note
length and thus can cancel out an L: field.


You can tie two notes together either across or within a bar with
a '-', e.g. 'abc-|cba' or 'abc-cba'.

	Triplets and Quadruplets

These can be simply coded with the notation '(3abc' for a triplet
or '(4abcd' for a quadruplet.


With regard to gracings, I fall in the  Irish  music  camp  which
says that you transcribe gracings as little as possible and leave
it up to the players to make their own interpretation.  Thus  the
only  gracing I tend to write is to put a ~ before the note (e.g.
 ~A3) to mean a roll, cran or stacatto triplet (dependent on what
you  are  playing,  what you're playing it on and how you feel at
the time).

However, to explicitly write out grace notes, just  put  them  in
curly  braces,  {  }, e.g. '{g}fed'. This allows even the complex
Highland pipe gracings to be written and, for  example,  a  taor-
luath would be written {GdGe}.

	Staccato Notes

Staccato marks (a small dot above or below the note head - useful
for  Uileann  pipers)  can be written with a dot before the note,
i.e. a staccato triplet is  written  as  '(3.a.b.c'.   Rolls  and
staccato markers cannot be combined on one note.


There is limited support for chords of two, three or  four  notes
on  a  single  stem,  although  not  within a beam. The coding is
achieved with "+" signs around the notes, e.g.  "+C2E2G2c2+" pro-
duces  the  chord  of  c major. Note that the length of each note
must be the same and that grace  notes,  rolls,  staccato  notes,
triplets and quadruplets are not allowed within the coding.

	Introducing New Notation

It is, of course, much easier to introduce new notation  than  it
is  to  implement  its  translation into MusicTeX . To facilitate
this process, the letters H-Z inclusive have been  set  aside  to
allow users to introduce their own additional symbols safe in the
knowledge that they will be ignored by abc2mtex. Three such exam-
ples  are  'J'  to denote sliding up to a note and, for fiddlers,
'V' & 'U' for up-bow & down-bow respectively.

	Order of Symbols

The  order  of   symbols   for   one   note   is   <roll/staccato
marker><accidental><note><octave><note   length>  e.g.  ~^c'3  or

abc2mtex extras

A couple of extra things are provided to aid the typesetting of a
tune  by abc2mtex. One is an extra information field E: which can
be used to change the internote spacing in order to spread  tunes
out or squeeze them up.

The second typesetting symbol is a \ and is used to inhibit  line
breaking.   Generally  one  line of abc notation will produce one
line of music. However, to use two lines of abc to  generate  one
line  of  music  a \ is put at the end of the first line. This is
also useful for changing meter or key for a bar in the middle  of
a line of music.

Anything else

The notation can easily be expanded to include other musical sym-
bols   (for example to put in chords for guitarists). Please mail
me with any suggestions.

Chris Walshaw
<C.Walshaw at>

...Behind every successful woman, there's a dirty house..

More information about the minstrel mailing list