This is the official site where you can find the latest versions of abcMIDI and runabc.tcl. The software is also available on 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 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 netabc which was developed as a test bed for exploring this method.


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 2022-08-05. You can also download the entire documentation in a zip file Updated 2022-08-05.

You can download the latest version of runabc.tcl here
2.355 April 28 2022 Source code
4.19 August 21 2023 Source code only
May 11 2023 Goes with
runabc.exe has Tcl/Tk built in for Windows users who do not wish to install Tcl/Tk 8.5 (8.6) on their system. Runabc.exe is now created using tclkit ( First save it to your hard drive and then run (no installs). 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.


You need

abc2abc 2.20 February 07 2023
abc2midi 4.84 January 20 2023
yaps 1.92 January 06 2023
midi2abc 3.59 February 08 2023
midicopy 1.38 May 05 2022
abcmatch 1.82 June 14 2022
midistats 0.74 September 11 2023

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 stable version is

There is also unstable versions on

Executables for the Microsoft Windows operating systems are also available in the zip file This file was updated on September 13 2023.

Documentation abc2midi guide . The guide was updated February 13 2022.

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 2022/03/06

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.


September 13 2023 - midistats
August 22 2023 - midistats
June 25 2023 - bug fix in midistats
May 30 2023 - midistats updated slightly
March 15 2023 - midistats in abcMIDI
February 08 2023 - minor update to midifile.c
February 07 2023 - abc2abc - introducing -c option
January 21 2023 - abc2midi - split voices and parts
January 10 2023 - abc2midi - added ped( and ped) instructions.
January 08 2023 - abc2midi,yaps,abc2abc fixed instrument= declaration.
December 09 2022 - abcMIDI - introducing midistats
October 2 2022 - added
September 01 2022 - abcMIDI and midiexplorer updated
August 01 2022 - abcMIDI, runabc and midiexplorer updated
June 14 2022 - abcMIDI - support for +: field in lyrics
May 20 2022 - improved support for umlaut characters
May 09 2022 - midiexplorer - new version (source code only)
May 05 2022 - midicopy - no options
April 27 2022 - abc2midi fix for transpose
April 06 2022 -abcMIDI - midi2abc minor change
March 20 2022 - abcMIDI - abc2midi (gchord bug which appears in Linux)

No private information is collected on this web page.


This page was last updated on September 13 2023.