This is a table of some of ABC's features versus software packages, showing which features are supported by which packages. Here's what the cells' contents mean:
Voices | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
program | abc2mtex | abc2ps | abc2win | abc4Mac | abc2midi | abcmus | AbcPlay | BarFly | Muse | YAPS | Skink | ||||
variant | mm | jc | ja | jm | |||||||||||
Voices | |||||||||||||||
V: voice lines | Y | Y | Y | Y | Yes | ||||||||||
V: name= | Y | Y | Y | Y | |||||||||||
V: clef= | Y | Y | Y | Y | Y | ||||||||||
Annotations | |||||||||||||||
!text! | N | Y | Y | ||||||||||||
"^text" | N | Y | Y | N | |||||||||||
"24"| | Y | Y | ? | Y | |||||||||||
"B"| | Y | Y | Y | Y | |||||||||||
x invisible rest | Y | Y | Y | Y | |||||||||||
y unplayed rest | Y | Y | Y | Y | |||||||||||
Ornaments | |||||||||||||||
J slide | Y | Y | ? | Y | Y | ||||||||||
H fermata | Y | Y | ? | Y | |||||||||||
M emphasis | Y | Y | ? | Y | |||||||||||
R roll | Y | Y | ? | Y | |||||||||||
u up-bow | Y | Y | ? | Y | |||||||||||
v down-bow | Y | Y | ? | Y | |||||||||||
Lyrics | |||||||||||||||
w: lyrics | Y | Y | Y | Y | |||||||||||
Keys | |||||||||||||||
K:Dphr^F | N | Y | N | N | No | Yes | Yes | Yes | |||||||
K:Dphr ^F | N | N | N | N | No | ||||||||||
Meter | |||||||||||||||
M:none | N | Y | N | ? | No | Yes | Yes | Yes | Yes | ||||||
M:23/44 | Y | Y | Y | Y | |||||||||||
M:2+3/4 | Y | Y | Y | Y | |||||||||||
M:2/4,3/4 | N | N | N | N | |||||||||||
Endings | |||||||||||||||
:|3,4 | Y | Yes | Yes | ||||||||||||
|:: ... ::| | Y | N | |||||||||||||
________ | |||||||||||||||
Output | |||||||||||||||
PostScript out | Yes | Y | Y | Y | Y | Yes | |||||||||
Sound out | Yes | Yes | |||||||||||||
MIDI out | Yes | Yes | |||||||||||||
AIFF out | Yes | ||||||||||||||
variant | mm | jc | ja | jm | |||||||||||
program | abc2mtex | abc2ps | abc2win | abc4Mac | abc2midi | abcmus | AbcPlay | BarFly | Muse | YAPS | Skink |
At present this is only known to be fully implemented in
jcabc2ps.
It allows the usual K:<tonic><mode> to be followed
by a list of accidentals which are added to the key signature.
Just K:
This indicates free-meter music. No time signature should
be drawn, and no checking of measure length should be done.
Some kinds of music use measures of several different lengths.
The southern German "zwiefacher" is an example.
This extension allows for multiple meters as in M:2/4,3/4.
Such time signatures should all be displayed at the usual place on the staff,
and measure checking should accept all of them as valid.
(Is this fully implemented anywhere?)
Some programs accept bogus notation such as M:23/44
This is to be discouraged, as it confuses software that tries to understand and use it.
Some programs accept notation like M:2+3/4.
This is not properly a multiple time signature.
Rather, it means M:5/4, with the added information
that beats are grouped 2+3 rather than 3+2 within each measure.
This is a rest that isn't shown but is played.
It is mostly useful in multi-voice music,
to cut down on the clutter of many rests.
If software extracts a voice from a score,
it might be a good idea to have an option to
convert x rests to z rests.
This is a "rest" that takes space on the screen or paper,
but is ignored otherwise. Players should ignore it entirely.
This is only marginally a "rest", of course; it could be
better described as a thin spacer.
Some programs implement a form of annotations that use !...!
instead of misusing the "chord" notation. Generally, the
contents of a !...! annotation must be one of a
list of standard musical terms. Display programs may just display the text
above or below the staff. For some annotations, music display programs should
draw the corresponding musical symbol. Some symbols that have been suggested are:
This is not part of the standard yet, but is implemented by a few ABC tools.
In the past, a lot of ABC has mis-used the "text" chord notation to place
arbitrary text above or below the staff. The proposed extension uses:
PostScript is the language accepted by most laser printers,
and can produce very good-looking printed music.
This means that the program plays the music using the computer's sound card.
MIDI is the Musical Instrument Digital Interface,
the most widely-used encoding scheme used by electronic musical instruments.
Copyright 2001, 2002 by John Chambers
Global accidentals
Free Meter
Multiple time signatures
x: invisible rest
y: invisible and unplayed rest
Lyrics under the notes (w: lines)
Annotations: !Text!
!D.C.! the letters D.C. (meaning da coda) !D.S.! the letters D.S. (meaning da segno) !accent! > mark !breath! a breath mark (apostrophe-like) after note !coda! a ring with a cross in it !crescendo(! start of a < crescendo mark !crescendo)! end of a < crescendo mark, placed after the last note !diminuendo(! start of a > diminuendo mark !diminuendo)! end of a > diminuendo mark, placed after the last note !downbow! downbow: squared n mark !emphasis! same as !accent! !f! !fermata! fermata or hold (arc above dot) !ff! !fff! !ffff! !fine! the word fine !invertedfermata! upside down fermata !longphrase! same, but extending 3/4 of the way down !lowermordent! short /|/|/ squiggle with a vertical line through it !mediumphrase! same, but extending down to the centre line !mf! !mordent! same as !lowermordent! !open! small circle above note indicating open string or harmonic !p! !pp! !ppp! !pppp! dynamics marks !pralltriller! same as !uppermordent! !repeatbar! repeat previous whole bar, a % symbol !repeatbar2! repeat previous 2 whole bars, a % symbol with a 2 adjacent this can be extended to an arbitrary number of bars !roll! a roll mark (arc) as used in Irish music !segno! 2 ornate s-like symbols separated by a diagonal line !sfz! !shortphrase! vertical line on the upper part of the staff !snap! snap-pizzicato mark, visually similar to !thumb! !tenuto! horizontal line to indicate holding note for full duration !thumb! cello thumb symbol !trill! "tr" (trill mark) !turn! a ~ turn mark !upbow! upbow, V mark !uppermordent! short /|/|/ squiggle !wedge! small filled-in wedge mark !+! left-hand pizzicato, or rasp for French horns !0!-!5! fingerings
Annotations: Quoted Text
The idea is that the ^ and _ characters tell the software
that this is not the name of a chord, but just plain text. The initial
flag character will be stripped off, and the text displayed above or below
the staff, hopefully in a position that doesn't clash with other symbols.
We expect that eventually the common musical terms may be recognized and
interpreted by player programs.
Repeats
Alternate Endings
Bar numbers
Bar Labels
PostSscript out
Sound out
MIDI out
AIFF out
Multiple Voices