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 2021-02-19. You can also download the entire documentation in a zip file Updated 2020-05-23.

You can download the latest version of runabc.tcl here
2.266 February 20 2021 Source code
2.258 January 31 2021 Windows executable
1.206 January 10 2021 Source code only
December 20 2019 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.12 December 10 2020
abc2midi 4.49 February 21 2021
yaps 1.86 December 10 2020
midi2abc 3.47 November 01 2020
midicopy 1.37 October 10 2020
abcmatch 1.77 December 10 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

There is also a recent version on

Executables for the Microsoft Windows operating systems are also available in the zip file This file was updated on February 21 2021 (includes abcm2ps-8.14.11 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 2021/01/26
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.


February 21 2021 abc2midi bug fix.
January 31 2021 new release of runabc.exe for windows.
January 24 2021 abc2midi, runabc.tcl bug fixes
January 11 2021 expanding collection of abc files (from **kern)
January 10 2021 midiexplorer
December 10 2020 abcMIDI James Allwright updates for complex meters
November 07 2020 abcMIDI code fix for drawtune.c (yaps)
November 01 2020 abcMIDI package: yaps cleanup
October 27 2020 abcMIDI package: yaps cleanup
October 19 2020 abcMIDI package: support for clef= upgraded to 2.2
October 12 2020 abcMIDI package
October 10 2020 midicopy - new feature
October 07 2020 yaps upgraded
October 06 2020 bug in abc2abc fixed
October 01 2020 abcMIDI package
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 updated


This page was last updated on February 21 2021.