ABC2Tab Information This program takes its input from an ABC format file and writes an ASCII Tablature file for the dulcimer or guitar. Customized string tunings and string counts may also be configured. The ABC notation system was developed by Chris Walshaw. For complete and official documentation, see: http://www.gre.ac.uk/~c.walshaw/abc/ You can also reference: http://eddie.mit.edu/~jc/music/abc/ABC-FAQ.html The ABC Notation system has been used to transcribe a wide variety of folk songs. There have been several programs developed to convert ABC files into other formats (postscript, midi, windows just to name a few). And now there is ABC2Tab. This program attempts to implement (or ignore when necessary) the standards defined by the ABC Version 1.6 specification. Extensions added by other programs will be implemented as necessary. When an information field or notation feature cannot be translated into the ASCII Tab format, it will be ignored. Ignored or partially implemented Features ----------------------------------------- 1) The E: field (I'm not typsetting postscript or mtex) 2) Gracings. (These are represented by a ~) 3) Beams are not supported 4) Midi extensions are ignored (%MIDI) including extensions: !hello!, "Am;1" and V: 5) Ties, Slurs, Up and Down bowings, and stacatto are ignored until I can find a suitable way to display them. 6) Simple Tuples are handled, Advanced require more work. A note about printing the output -------------------------------- Many (if not all) abc tunes converted to ASCII tablature will be longer than 80 characters. I find the following hints helpful in printing the output. 1) Set the printer in COMPRESSED and/or LANDSCAPE mode from the front panel controls on the printer and print the file using the DOS print command or the copy command (copy 1.tab lpt1:). 2) Use notepad in Win95/WinNT and setup the printer for landscape, select the entire file, and set the font to the smallest courier font available. 3) Read/import the text file (1.tab for instance) into a real word processor (like Microsoft Word) and select the entire file and set it to a small monospaced font. You will be able to set the page into landscape mode if necessary and will be able to see what it looks like. How it all works ---------------- Usage: abc2tab.pl [-d#] [-f] [-g] [-h] [-m] [-s] [-u#] [-v] [-xxref] [abcfile.abc] -d -- adjust DOWN by this many octaves (Example: -d1) -f -- suppress footer annotations -g -- guitar style tab (High string on top) -h -- print this help -m -- mandolin tab -s -- suppress interline spaces, add column for spaces in source -u -- adjust UP by this many octaves (Example: -u1) -v -- verbose -x -- single x reference to print The square bracket denotes an optional parameter. Invoking abc2tab without any parameters will print the usage and the footer information. Using the -f option turns off the printing of the footer information. (Useful if you're trying to print a book and only need the notation cheat sheet once.) NOTE: to capture the verbose output, redirect the output to a file using something similar to: abc2tab test.abc -v > abc2tab.log Strings and Tunings ------------------- The number of strings and their tunings are defined within the header of the abc song using the comment delimiter (%%ABC2TAB:). A "-g" command line option will overide these definitions and produce guitar tab. If this definition is missing from the header, ABC2Tab will assume a 3 string dulcimer tuned to DAd (d is the melody string(s)). Use of this "field" allow you to "fit" each song to your dulcimer assuming the song you're ABC2Tab-bing is somewhat diatonic. For instance, I added defined the tuning for a song in the key of F as %%ABC2TAB:3 C C F: and the tab turned out playable. Now I can play the tune in any tuning if I'm playing by myself, but must tune as specified to play with others. Insert the following line just before the K: field: %%ABC2TAB:D A d:3 String Dulcimer ^ ^ ^ | | | | | +----Melody String (or highest tuned string) | +------Middle String (or next highest tuned string) +--------Lowest String (well, you get the idea) The text after the final : is for you to describe the tuning you chose. It will be printed in the footer information. SUMMARY ------- -g overides any %%ABC2TAB lines and produces guitar tab -m overides any %%ABC2TAB lines and produces mandolin tab no -g, -m and no %%ABC2TAB will produce DAd tuned 3 string dulcimer tab no -g, -m and %%ABC2TAB line will produce whatever tuning you specify Additions for Version 1.1.1 --------------------------- 1) incorporated mandolin tab changes from Jake Edge - 2001 Nov 9 jake@edge2.net Bugs Fixed in Version 1.1 ------------------------- 1) Used wrong perl2exe compiler switches to generate .exe code. - Fixed 3/20/98 Alpha Bugs Fixed in Version 1.0 ------------------------------- a) Was ignoring the ' for octaves (c'd' etc.) - Fixed 10/18/97 b) Fix "No output" problem where some abc produces no output - Fixed 11/01/97 c) Triplet notation (3abc - Fixed 11/04/97 d) Interaction between "c'" & c' & c// - Fixed 11/07/97 e) First, Second and other ending markings must be distinguished from chord/unison markings. - Fixed 11/12/97 New Features added since 1.alpha -------------------------------- 1) Added shift up/down by one octave - Fixed 11/02/97 2) Added suppress interline spacing switch - Fixed 11/02/97 3) The history field (H:) accepts more thant only 1 line. - Fixed 11/02/97 4) Added single xref printout option - Fixed 11/11/97 5) Incorporate sample abc files into test.abc & cleanup - Fixed 12/09/97 6) Added guitar tab output option - Fixed 12/31/97 7) Incorporate changes identified by the BNF specification- Fixed 12/09/97 Future Enhancements ------------------- Version 2.0 ----------- 1) Support for words 2) Hammer Dulcimer Tablature 3) Add HammerOn/Offs, Bends & Pulls for slurs Lyle Melick - lyle@melick.net