BB's GUIDE to the BASICS OF ABC
ABC is a protocol developed for handling music via ASCII (keyboard) symbols. It is an invaluable tool for traditional musicians.
Many individuals have been involved with developing the ABC standard, but UK resident Chris Walshaw is usually accorded pride of place for his pioneering work (which grew out of an effort to notate French bagpipe music, for heaven's sake). Chris' abcnotation.com website is a great place to pursue this topic.
Quoting WikiPedia: "ABC notation is a shorthand form of music notation that has been in use since at least the 1800s. In basic form it uses the letters A through G to represent the given notes, with other elements used to place added value on these - sharp, flat, the length of the note, key, ornamentation."
ABC files are all text files that can be cut and pasted to your word processing program, an ABC-specific program like BarFly, or directly into an ABC online translator like the one at mandolintab.net. Both printed music and audio sound files can be generated from ABC, and while the output might not necessarily be beautiful, it will be perfectly suited to the purpose of helping learn and preserve tunes. (UPDATE: despite a valiant resuscitation effort by Phil Taylor, BarFly couldn't keep up with changes in the Mac OS. A cross-platform program called EasyABC works pretty well but in its present configuration is missing some of the enhancements that BarFly had available.)
As text files, ABCs take up very little disc space, and can readily be emailed as they stand. They can also be printed out as (nicer-looking) PDFs. The sound output is MIDI, also implying file sizes a fraction of what MP3 would require for storage or email purposes (or "app" purposes for those of you more technologically advanced than yours truly).
Unfortunately the MIDI format has evidently fallen into disfavor in Browser-land, so I've had to convert all those nice MIDI files to MP3. Sound is exactly the same but the file size is an order of magnitude larger (for no good reason that I can see).
No knowledge of ABC's inner workings is required unless you wish to begin creating ABC files, and even in that case the learning process is far less painful than would be involved with mastering a music-writing program like Finale (I've been there over twenty years and still learning) or Sibelius.
ABC files are also very flexible insofar as the ABC protocol allows for changes to be made easily in one or another aspect of the tune. Under normal circumstances, of course, an ABC user will not have to contend with making any changes, but the capability exists. Two aspects of it - changing a tune tempo and changing notation - will be discussed below.
Here's a brief familiarization tour of the fields in the file header (i.e., the part before the actual notation). The header structure - specifically the location of the X, T, and K fields - is crucial to the perception of the file as an ABC file by the various reading programs.
If you have no curiosity regarding this, you can skip it (with no hard feelings!). If on the other hand you want to know even more about ABC than I provide here, you can start at a site like abcnotation.com and go from there. I can guarantee it will be worth your while.
ABC header fields
X This is the reference number of the tune, its ID if you will. X: must be the first field in the header and there must be a number value (no letters) entered. Unless both these conditions are met, the translation programs will not recognize the file as an ABC file.
T The tune title. This is also required by the ABC protocol. (You can have more than one T: field if you want to show alternate names for the tune; the other entries will be printed out in smaller type under the "primary" name".)
C Composer's name; not required.
S The source of the tune( e.g. book, individual musician); not required.
D Discography; not required.
I The "information" field. I don't use it anywhere so you won't seen in any of my webABCs. It is not required. (It may not function correctly under new iterations of the ABC standard.)
H This is where you would show a tune's history, e.g. changes, revisions, etc. It is not required but will print out. You don't have to begin each new line in the H: field with colons (unlike entries in the N: field).
N The all-purpose comment field. Not required but will print out. Notice that a separate N: line is required for each line of text (same applies to the H: field).
When present, contains the name of the person(s) responsible for the ABC transcription. Not required.
L Shows the basic note unit for the tune, e.g. 1/8, 1/4. Not required.
M Corresponds to the tune's time signature and is required. (C or C| can be used for 4/4).
Q This is the tempo field where you enter the beats per minute. The higher the number, the faster the tune. Not required but entering nothing here leaves you at the mercy of whatever "default" tempo settings are out there.
R This is the "rhythm" field and has to do with stress programs, which we need not go into here. It is not required. It should be noted that the entry in the R field usually but not always corresponds to the actual "identity" of the tune (i.e., you could see "reel" entered there even if the tune were in a much slower tempo than would ever be used for a reel).
K The key field; required, and must be the last field in the header.
Not strictly a field but is used as the "turn-off" symbol in ABC, meaning that the program will ignore anything entered in the line following the % sign.
Changing the playback tempo
Normally the only header field whose value an ABC user might want to change is the Q: field, which controls the playback tempo. Reducing the existing number will slow down the playback - good when you're just learning a tune - and increasing it will speed the playback up.
Note that Q: means different things in EasyABC (where it's based on quarter-note) and in BarFly (where it's based on eighth-notes). You might have to double or halve the figure in the Q: field depending
on what program was used to create the file and what program you're using to translate it.
My default Q: field settings are 180 for reels, 160 for jigs and slip jigs, 150 for hornpipes, 120 for polkas, and 160 for slides. I consider these moderate learning speeds but you might prefer your polkas faster and reels slower, etc etc, in which case you can adjust the Q: field to your taste.
Altering the notation
Disclaimer: I don't recommend futzing around with this without some knowledge of how to write an ABC file.
On the other hand, one of the glories of ABC is that you can experiment (always always always on a file copy, not on the original) to see exactly what you know and what you don't. Since you're working on a plain old text file, you're not likely to crash your hard-drive or accidentally hack into an Iranian nuclear server while you fiddle (heh-heh!) with ABCs
For example: you can try adding an accidental to or removing an accidental from a note. If the tune you're working on shows K: D in the header, that means (among other things) that all the c's in the tune will be sharp. If you want to change of them to c natural, it's easy - a natural in ABC protocol is = before the note (no space).
So you'd wind up with a K: D file full of =c, which might sound cool (or might not). You can always get back to Square 1 (the original K: D tune) by removing all those = signs (or just by closing the file without saving the changes).
Just to fill out your note-altering toy box: a sharp is ^ (shift-6), and a flat is _ (shift-hyphen) (e.g., =G, ^f, _A).
(2) Note ranges
In ABC, the notes below middle C are indicated by the presence of a comma immediately after the letter (G, A, B,). If you play an instrument whose lowest note is D below the staff (upper-case D in ABC), you can raise these low notes into your range by simply removing the comma, so that G, -> G, A, -> A, and so on.
Of course the sound of the tune won't be the same but at least you'll have a starting point for making your own changes if you care to do so.
REMINDER: I would strongly recommend that any changes be made to a copy of the original file - since these are all text files, you can paste a "working copy" into your WP of choice and change away to your heart's content!
My final comment would be to the effect that learning more about "what ABC can do for you" would be definitely to your advantage as a musician - for example, I have spoken with musicians whose music-reading skills have been improved through use of ABC. And just think of how easy it will be to jot down those many marvellous tunes you come up with in the course of a day! (And if you really get good at ABC, you can add chords, ornamentations, additional instruments, etc. Click here for a sample of what the ABC tool can do in the hands of an unbalanced person with too much time on his hands.)
Good luck and please contact me if you think you need help. I'll be happy to provide whatever I can!
updated Sept. 2021