This site's ABC
The database attempts (and I think it succeeds) to store tunes exactly as they were input. It does, however, add some pieces of information to its downloads, so the ABC you retrieve from the database is not exactly identical to the original input.
• An F: line will be inserted to say where it's come from. If a value was present already, this line will be placed in front of it.
• %%Mirrored-From: If a tune is mirrored from an external URL, this line gives that URL.
• %%TBL: (configurable, off by default) Used by the site to attach various obscure pieces of sometimes-necessary information; see here for more details.
The site accepts ABC as per the standard descriptions, except that X: is optional. T: and K: are required.
It extends ABC by providing alternative, more expressive, names for the header fields (here is a list of the mappings). You can also invent new fieldnames on the fly (using the usual_suspect characters only :- 0-9a-zA-z_-), which should be followed by a colon as for the ABC single letter version. The site treats the 2 forms as interchangeable, translating between them as appropriate, in an attempt to improve comprehensibility and avoid ambiguity as to the fields' meanings. A field that doesn't have an ABC equivalent is translated into ABC by preceeding it with 2 '%' (percent) characters (I've adapted this from abc2midi/abcm2ps's idea of "directives". Those do not have a ':' (colon) marking the end of the keyword; my tune-header keywords do). Any such new fieldnames that you introduce in the tune editor will not be seen in any other lists until you save the tune.
Any of these keys except X: and K: can appear multiple times. This may represent a number of alternate values or a single multiline value, depending on context (on this site, you can choose which way you want each field to be treated, see the Preferences form).
In spite of my attempts to wrap the underlying ABC up in something more friendly, you still need to write the 'body' of the tune, the actual notes of it, the dots, in ABC, so you need to know enough for that - here is a summary of the basics to get you started. It's not hard - try some things out in the tune editor and see what happens; the "Redraw" button will draw the corresponding image. It doesn't matter if you write something that doesn't do what you expected. It won't do any harm, and you can always correct it later when you've got the hang of it a bit better; it probably shouldn't take you more than a few minutes of trial-and-error to get going.
- the notes are named by their letters - a b c d e f g.
- Lowercase letters are, for some reason, higher notes than uppercase letters.
Raise them an octave by following them with an apostrophe
( ' ),lower them an octave with a comma ( , )
( ^ )in front of a note represents a sharp, underscore ( _ )is a flat.
- The combination of characters representing a single note should not be separated by any spaces.
- Notes are assumed to be a "default length"; usually a quaver (1/8 note) unless you say otherwise. This is the value that the editor calls 'Length'.
Numbers after a note multiply that length.
Thus "b4" is 4 times as long as "b", "A/2" is half as long as "A", etc.
The latter construction can be abbreviated to
" A/ ",you can drop the "2".
Another handy abbreviation is
" A>B ",short for " A3/ B/ ",or " A3/2 B/2 "in full; the dotted-quaver/semiquaver 3+1construction. And likewise " A<B "for the reverse one.
Tuplets - preceding a group of 3 notes by an open-bracket causes them to be represented as a triplet -
" (3Abc ". (There is a fuller form of this that can deal with more complex situations; consult the more detailed documentation pointed to above for the details.)
The vertical bar
( | )character is a barline.
( || )for a double-barline.
Replace one of these with a square bracket
( |] )to make one of the lines 'heavy', to mark an ending, etc.
( : )represents the pair of dots that mark a 'repeat' sign. And combine these ...
:||:, a double-facing repeat, can be shortened to ::
notes that have tails (quavers, and smaller) can be joined together ("beamed") by writing them without any spaces between. Separating them with spaces stops this. Thus
"ABc def | gAA eAA"for a typical jig pattern, and so on.
- A newline character in the text makes a staff-end newline in the notation.
- ABC header fields can be included in the body text, by writing '[key:value]' at the appropriate place in the text for the notes.
Inline fields :-
|: AB cd ef ga | ag fe dc BA :| A8 |]
- where [K:A] states the key signature Each tune page shows the ABC text underneath the image of the dots it produced, so you have a lot of examples to look at to help you get the idea.