In older ABC software, the ornament symbols are mostly hard-coded and can't be changed. A proposed extension to ABC makes these into short cuts for commonly used symbols and can even be redefined (see Redefinable symbols).
The proposed syntax uses the notation !symbol! to represent musical annotations including ornaments, dynamics, and so on. For example, !trill!A4 represents a trill symbol (Tr).
Here is a table of the currently defined symbols (and this list may grow with time). Note that the capitalization is not significant. MixedCaseNames are useful for readability, but not required.
|!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|
|!D.C.!||the letters D.C. (meaning da capo)|
|!D.S.!||the letters D.S. (meaning dal segno)|
|!Diminuendo(!||start of a > diminuendo mark|
|!Diminuendo)!||end of a > diminuendo mark, placed after the last note|
|!DownBow!||squared n mark|
|!Emphasis!||same as !accent!|
|!Fermata!||fermata or hold (arc above dot)|
|!Fine!||the word fine|
|!InvertedFermata!||upside down fermata|
|!LongPhrase!||vertical line on the upper part of the staff, 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!||mezzo-forte dynamic mark|
|!Mordent!||same as !lowermordent!|
|!Open!||small circle above note indicating open string or harmonic|
|!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 !upbow! V mark|
|!Roll!||a roll mark (arc) as used in Irish music|
|!Segno!||2 ornate s-like symbols separated by a diagonal line|
|!ShortPhrase!||short 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|
|!UpperMordent!||short /|/|/ squiggle|
|!Wedge!||small filled-in wedge mark|
|!+!||left-hand pizzicato, or rasp for French horns|
As a short cut to writing accents or other symbols which avoids the !symbol! syntax (see Accent above), the letters H-Z and h-w and the symbol ~ can be assigned with the U: and u: fields (the U: defines how the symbols are printed and the u: defines how they are played). For example, to assign the letter T to represent the trill, you can write:
U: T = !trill!
You can also use "^text" etc (see Annotations below) in definitions, e.g.
U: X = "^+"to print a plus sign over notes with X before them.
Symbol definitions can be written in the file header, in which case they apply to all the tunes in that file, or in a tune header, when they apply only to that tune, and override any previous definitions. Programs may also make use of a set of global default definitions, which apply everywhere unless overridden by local definitions. You can assign the same symbol to two or more letters e.g.
U: T = !trill! U: U = !trill!in which case the same visible symbol will be produced by both letters (but they may be played differently), and you can de-assign a symbol by writing:
U: T = !nil!or
U: T = !none!or just
U: T = !!
A common set of definitions (if you do not redefine them) is:
U: ~ = !roll! U: T = !trill! U: H = !fermata! U: L = !emphasis! U: M = !lowermordent! U: P = !uppermordent! U: S = !segno! U: O = !coda! U: u = !upbow! U: v = !downbow!
Here's an example: The final example here is a bit extreme, but shows what can be done. One limit to ABC's current grace-note notation: You can't use lengths, so you can't break up such long strings of grace notes to improve readability. Maybe some day this will be addressed (and maybe not).
Copyright 2001, 2002 by John Chambers