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

You can download the latest version of runabc.tcl here

runabc.zip
2.362 December 11 2024 Source code
midiexplorer.zip
4.83 December 10 2024 Source code only
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.22 April 30 2024
abc2midi 4.96 December 16 2024
yaps 1.94 April 30 2024
midi2abc 3.59 February 08 2023
midicopy 1.40 August 11 2024
abcmatch 1.84 April 30 2024
midistats 0.96 July 26 2024

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 abcMIDI-2024.12.16.zip

The source code is also 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 December 16 2024.

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

17
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.

Updates


December 16 2024 - abc2midi - fixed sus chords in store.c
December 06 2024 - abc2midi - fixed event_midi
August 13 2024 - abc2midi - fixed potential buffer overflow
August 11 2024 - midicopy - does transposes
July 26 2024 - midistats fix
June 18 2024 - midistats fix
April 30 2024 - abc2abc,abc2midi,yaps,abcmatch
March 21 2024 - midistats
March 02 2024 - abc2midi clef=, octave=
February 25 2024 - abc2midi
February 19 2024 - abc2abc,abc2midi,yaps,abcmatch
January 04 2024 - midistats
December 23 2023 - abc2midi bug fix
November 26 2023 - midistats
November 17 2023 - midistats
November 01 2023 - midistats
October 25 2023 - midistats now returns track activity
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 abcmidi_win32_ming64.zip

No private information is collected on this web page.

fy733ncf


This page was last updated on December 16 2024.