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 netabc 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 2021-02-19. 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.297 May 8 2021 Source code
midiexplorer.zip
2.31 August 03 2021 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 (8.6) 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).

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.15 May 25 2021
abc2midi 4.59 June 27 2021
yaps 1.87 May 25 2021
midi2abc 3.49 June 27 2021
midicopy 1.37 October 10 2020
abcmatch 1.79 May 25 2021

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-2021.06.27.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.zip. This file was updated on June 27 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.

Updates


June 27 2021 abc2midi - gchordoff bug
June 24 2021 abc2midi - octave= fix
May 25 2021 abcMIDI security fixs for big numbers
May 23 2021 abc2midi - clef=treble-8 bug
May 19 2021 fixed infinite loop in abc2midi for unusual abc file
May 09 2021 %%beginps %%endps treated like %%begintext etc.
March 30 2021 abc2midi bug fix
March 27 2021 abcmatch bug fix.
March 10 2021 abc2midi bug fix.
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

fy733


This page was last updated on June 27 2021.