Introduction

This is the official site where you can find the latest versions of abcMIDI and runabc.tcl. The software is also available on sourceforge.net but it is updated less frequently.

abc is a computer language for notating music in plain text format. It was introduced by Chris Walshaw in 1993 when Windows 3 and MSDOS were the main operating systems on personal computers. Software such as abc2midi and abc2ps for handling abc notation were introduced around this time. Presently there are more than a half a million abc files that are freely available on the internet.

The abcMIDI package was created by James Allwright in the 1990's in C code. About 20 years ago, he asked me to take over the support and maintenance of the code. I have been correcting bugs and adding new features since then. (See doc/CHANGES in the source code distribution.) In the meantime I was also transcribing international folk dances into abc format which can be found here.

Jef Moine has rewritten abc2ps and now supports it as abcm2ps on his web site.

The programs in the abcMIDI package (abc2midi, abc2abc, yaps, midi2abc, and etc.) run in a DOS command window; however, these programs have become embedded in more complex programs with nice user interfaces. Runabc, is one of such programs that I had created, and it has been growing over the past 15 years.

EasyAbc is another user interface that was created by Nils Liberg. It is a popular package and is available on sourceforge.net. Nils abandoned support of this package and presently I am one of the supporters. It is written in Python 2.4 and WxPython and it quite difficult to maintain. Progress has been made to convert EasyAbc to Python 3.7. You can find the latest source code on github.

The biggest change has been the shift towards web based applications. PostScript files are gradually becoming outdated as graphics is moving towards Scaleable Vector Graphics (SVG). It is now possible to render the abc notation to common music notation, display and play it all in your internet browser without needing to download, compile and install any software. Nevertheless support for the older methods using PostScript files will remain for a long time. Runabc and EasyAbc still support these older methods; however, runabc now lets you apply some of the newer approaches using JavaScript code running in your browser. As an example, see webabc which was developed as a test bed for exploring this method.

Runabc.tcl

Runabc is a graphical user interface to several command line driven programs for processing abc files. It is written in Tcl/Tk script and will run on any computer or operating system in which Tcl/Tk is installed. This includes Windows, Unix, Linux and Macintosh. The script now provides graphical user interfaces to abc2abc, abc2midi, abc2ps, abcm2ps and yaps. You also need a midi player and a postscript viewer. If you are running on Windows (2000, XP, Vista, Windows 7, Windows 8) or Linux. you can get many of the executables here and also from the web site The ABC Plus Homepage. For other systems you will probably need to download the sources and compile them yourself. The link below illustrates the operation of this program. The link install.html provides links to web sites where you can get the various components to run the program.

runabc.html describes what this program does. Updated 2020-09-15. You can also download the entire documentation in a zip file runabc_html.zip. Updated 2020-05-23.

You can download the latest version of runabc.tcl here

runabc.zip
2.247 September 15 2020 Source code
runabc.exe
2.241 August 26 2020 Windows executable
runabc.kit
2.231 July 03 2020 starkit
runabcexe
1.967 November 12 2015 Linux binary
runabc_mac.zip
2.139 October 22 2019 Mac binary
runabc_aqua.zip
2.165 October 22 2015 Alternative Mac binary
setup_runabc.exe
2.241 August 26 2020 Windows install
midiexplorer.zip
1.202 September 13 2020 Source code only
lakh_playlist.zip
December 20 2019 Goes with midiexplorer.zip
runabc.exe has Tcl/Tk built in for Windows users who do not wish to install Tcl/Tk 8.5 on their system. Runabc.exe is now created using tclkit (http://www.equi4.com/tclkit.html). First save it to your hard drive and then run (no installs).

runabcexe is a similar executable with Tcl/Tk builtin for Linux.

runabc.kit will run without tcl/tk on almost any system where tclkit has been installed. See install.html for details.

For Windows system, setup_runabc.exe will install runabc.exe and the abcMIDI executables, and create shortcuts on your start button and Desktop. Runabc will now work properly even if it is installed in the c:\Program Files (x86) folder. It will create a separate folder in your home folder called runabc_home where it will store runabc.ini and other files that it needs to write.

midiexplorer.zip is a new program under constant developed which is described on sourceforge. The source code here is unstable, but stable versions including executables for Windows are available in the midiexplorer project on sourceforge.

abcMIDI

You need

abc2abc 2.08 June 04 2020
abc2midi 4.41 August 09 2020
yaps 1.78 June 14 2020
midi2abc 3.46 June 22 2020
midicopy 1.36 June 04 2020
abcmatch 1.73 June 04 2020

You may find the sources of most of these files in the latest version of abcmidi (see below)  and you can obtain the executables for various operating systems from Guido Gonzato's web site - The ABC Plus Homepage.

The latest version is abcMIDI-2020.08.09.zip

There is also a recent version on https://github.com/sshlien/

Executables for the Microsoft Windows operating systems are also available in the zip file abcmidi_win32_mingw64.zip. This file was updated on August 09 2020 (includes abcm2ps-8.14.9 executable).

Documentation abc2midi guide . The guide was updated August 09 2020.

Other abc file links may be found in The abc Homepage.

Sample Abc files I have contributed

Balkan dances vol 1 updated 2019/06/20
Balkan dances vol 2 updated 2019/06/20
Israeli dances updated 2019/06/18
International dances updated 2015/12/09
Esac Database
Nottingham Database
Turkish Makams updated 2020/07/07
Klezmer Database cleaned up updated 2019/06/18
Ottawa Slow Jam
From **kern files updated 2020/08/13
work in progress updated 2019/07/04

EasyAbc Support

Nils Liberg has been too busy to support EasyAbc. Some numerous bug fixes have been contributed and you can find updated source code here.

Updates


August 23 2020 runabc,midiexplorer updated.
August 09 2020 abc2midi - introducing %%MIDI bendstringex
July 28 2020 abc2midi - improvements to temperament options
July 14 2020 yaps - cleanup of gcc compiler warnings
July 05 2020 new release of runabc.
July 05 2020 abc2midi: introducing %%temperament ...
June 29 2020 abc2midi: introducing integer microtones
June 22 2020 abc2midi: handling of comma 53 tempered scale improved.
June 07 2020 most of the abcmidi files modified to be gcc 10 ready. See pull request.
June 03 2020 midiexplorer.zip updated
June 02 2020 parseabc.c changed int ingrace to static int grace. Fix for gcc version 10 in archLinux
May 22 2020 runabc starting to introduce abc2svg
May 10 2020 runabc
May 06 2020 abc2midi, abc2abc - handling clef = treble+8
May 01 2020 abc2midi, yaps, abc2abc - recognizing O,P and S decorations
March 25 2020 abc2midi %%MidiOn fix
February 12 2020 abc2midi modification and runabc.tcl fix
January 22 2020 abc2abc - introducing -useclef
January 14 2020 abc2midi - addressing sourceforge ticket 25
January 06 2020 midicopy, midi2abc (in abcMIDI...) update
January 05 2020 runabc update
January 03 2020 abc2abc, abc2midi, yaps - abcm2ps compatibility
July 12 2019 midi2abc: new option -noly (suppress lyrics)

fy733


This page was last updated on August 09 2020.