abctab2ps and flabc
abctab2ps is a music and tablature typesetting program which translates an input file in the abc language into postscript. It is based on Michael Methfessel's program abc2ps. While abc2ps can only typeset music, abctab2ps is an extension by Christoph Dalitz that can also handle lute tablature. flabc is an editor that can be used for writing abc files. The prefix "fl" is an allusion to the FLTK programming library which is used by flabc.The features of abctab2ps include
In order to create a music/tablature score with abctab2ps you must perform the following steps:
Alternatively you can use flabc which integrates all three steps within an easy to use graphical user interface.
|flabc screenshot on MacOS X||flabc screenshot on Windows|
Important Notice: abctab2ps is not bug free. In particular there might be buffer overflow bugs which can potentially be harmful. Thus you should not run abctab2ps under a superuser account and always have a look at the contents of unknown abc files before running them through abctab2ps. See the question "Can abctab2ps do any harm to my system?" in the FAQ document.
The documentation for using flabc is accessible from its main menu item "Help/Flabc Documentation". An online version can be found here. Example files can be found with the menu "File/Load Example".
The HTML version of the abctab2ps user's guide can be also browsed here and here is a PDF version for print out.
Answers to frequently asked questions about installation and usage of abctab2ps can be found in the FAQ document.
Recommendations for postscript software and editor alternatives to flabc are given in the section References.
If you want to compile the abctab2ps source code, you need an ANSI C++ compiler with STL support. For compiling the flabc source code you need additionally the FLTK C++ GUI toolkit. The binaries provided on this site have been compiled with gcc on Linux and MacOS X (gcc is shipped with Xcode) and MingW32 on Windows.
If you want to know what's new in the latest version of abctab2ps, please read the latest release notes. Which version you download will depend on your operating system.
For MacOS X get the application bundle flabc-osx-universal.zip, which includes flabc (version 1.0.12), abctab2ps (version 1.8.11), the abctab2ps user's guide and abc2midi (version 2.00). All binaries are universal and require at least MacOS X 10.3.9. If you have an older ppc system, there is also an old ppc application bundle flabc-osx-ppc.zip (version 1.0.9 with abctab2ps 1.8.2).
For an installation unpack the archive with a double click in the Finder and move the application where you like. You can drag and drop abc files on the application. Note that you will additionally need a postscript viewer; see the menu "Help/Flabc Documentation" for installation instructions for a postscript viewer and configuration hints.
For Windows NT/2000/XP get the binary installer flabc-setup.exe, which includes flabc (version 1.0.12), abctab2ps (version 1.8.11), the abctab2ps user's guide and abc2midi (version 1.49). Note that you will need additionally both ghostscript and gsview.
For Linux abctab2ps and flabc are distributed in seperate packages. The following packages have been built on Ubuntu 8.04:
The following packages have been built on Debian Woody (which is quite old and should thus run on most systems):
After installation you can open abc files with the command flabc. The documentation is installed into /usr/share/doc/abctab2ps and /usr/share/doc/flabc and is also accessible from the "Help" menu in flabc.
If you want to use midi conversion you will additionally need abc2midi. The easiest way to install abc2midi on Linux is by getting its source code from the abc2midi home page.
If the above binaries do not suit your needs or you want to hack on abctab2ps and flabc yourself you can get the source code: abctab2ps-1.8.11.tar.gz and flabc-1.0.12.tar.gz. For an installation unpack the sources with tar xvzf ... and follow the instructions in the file README.
If you do not like flabc and prefer to use your favorite text editor for writing abc files, one of the following editor macro packages might be useful:
|emacs abctab mode
|An abc language mode for the editor
Apart from various Unix platforms, Emacs is also available for
By default Emacs has rather strange keymappings; the common CUA keymappings
can be enabled with cua-mode.el.
This mode only works with GNU Emacs and not with Xemacs.
|nedit abc mode
|An abc language mode for the Unix editor Nedit. Adds syntax highlighting and menu entries for previewing abc files, automatic cursor motion to errors and interactive selection of format parameters. Here is a screenshot.|
Other possibly useful addons:
|A Perl script (requires Perl version 5.0 or higher) for the extraction of voices, movements etc. from abc-files. Output can be piped directly into abctab2ps. A man page is included. If you do not have Perl on Windows, download abcselect-win32.zip instead.|
|A simple Perl script for adding page numbers to a postscript file. Position and start number can be changed by command line options. pspage -? gives a usage message. If you do not have Perl on Windows, download pspage.exe.gz (old version) instead.|
|A Perl script which converts from Wayne Cripps' "tab" format to abc. Detailed documentation is included. If you do not have Perl on Windows, download tab2abc-win32.zip (Version 1.6) instead.|
Publications prepared with abctab2ps:
abctab2ps and abc related sites:
Postscript resources (please note that a good deal of postscript software is shipped with all Linux or FreeBSD distributions, so check the installation CDs of your operating system first):
abctab2ps is written by Christoph Dalitz, based upon code by Michael Methfessel. Apart from these two main authors, the following persons have additionally contributed to the project (in alphabetical order, see the file CHANGES in the source distribution for details):
Michael Burzan, Martin Fick, Luis Pablo Gasparotto, Werner von Hoersten, Jef Moine, Frank Nordberg, Alain Veylit, Anders Wiren, John Wright
All comments or suggestions are welcome and can be sent to
"christoph (dot) dalitz (at) hs-niederrhein (dot) de"