What is ABCJ ?
Known Problems
ABCJ Version History
ABCJ Availability and Download
Related Links
ABCJ is a pure-Java editor, player and librarian for music files stored using Chris Walshaw's ABC notation. I primarily built it for my own use managing a large library of tunes so you may find that some ABC features are not present ... for example, I haven't provided any support for lyrics ... sorry ! For those of you brave enough, I have made the source code available though.
ABCJ has the following features :-.
- ABCJ maintains a library of ABC files. Once a tune book (ABC file) has been added to the library it is retained in the list of tune books for immediate access. A tune book can also be named independently of the file name to allow a more descriptive title to be shown.
- Tunes from many tune books (ABC files) can be organized into tune lists which can then be printed in toto.
- The ABC is checked as it is being keyed in, there's no need to do anything other than type.
- The musical score is also generated as the ABC is being keyed in, again, there's no need to do anything other than type.
- Individual tunes can be played.
- Tune list, tune books, or individual tunes can be printed.
- The complete library of tune books (ABC files) can be searched.
There is also a minimal function applet version of ABCJ which can be accessed within a web browser. See the ABCJ Online section below.
Following an excellent idea from a good friend of mine, I have also made the simpler web-based version available as a standalone application outside of a web- browser. This is now part of the downloadable version of ABCJ. I've also adopted Ian's suggested name for this and called it ABCJunior. ABCJunior provides the ability to cut and paste ABC from elsewhere and display it as music. You can also print, play and save to a MIDI file (latter not available in ABCJ Online).
Click here for a sample ABCJ
screen.
Click here for a another sample
ABCJ screen.
Player shows "55.55:55" and is locked up or a player warning dialog appears preventing playing.
ABCJ uses the standard Java sound capabilites. There is also another Sun product called theJMF (Java Media Framework) which can be used for playing MP3 files etc. The JMF was built for use with Java version 1.4.2 and will cause problems if installed with later versions of Java (1.5 onwards). This happens because JMF installs a couple of extra Java JAR files in your Java installation directory (JMF.JAR and SOUND.JAR), one of which will break the Java sound functions provided by the already installed Java platform. You can resolve this in 2 ways :-
- Uninstall JMF as it is not really intended for use with Java 1.5 onwards ... Yes, I know, what do you use instead (try JavaZoom) ! I recommend this approach.
- Locate the SOUND.JAR file in your Java installation directory and delete it. It's likely to be in <Java-Installation-Directory>/lib/ext or <Java-Installation-Directory>/jre/lib/ext. I have had to do this as I currently have other software which requires the JMF !
!!!!!!!!!!!!! Good luck !!!!!!!!!!!!!
A limited version of ABCJ is provided online in the web pages below. Only a single tune may be editted, scored, played and printed. You must have java 1.4.2 or later installed for this to function correctly.
Choose one the options below dependent on your screen size :-
Here is a list of the changes I have made to ABCJ since its' inception
in September 2006.
- V 1.0 - The original
version of ABC.
- V 1.1 - Add ABCJunior (described above) to the downloadable version.
- V 1.2
- Fix tempo indication when printing.
- Fix ignore line endings when printing.
- Fix benign exception when ABCJ.LST not found.
- Package the help file into the installation although this still has no content !
- Change installer to IZPACK. Previous version should be removed first.
- Improve installation for Linux systems.
- Add Undo/Redo support.
- V 1.3 - Try and preserve existing configurations when reinstalling !
- V 1.4
- Reduce vertical space used for a stave when chords are not present. i.e. Get more music in the same space !!!
- Allow the various header information fields to be shown/hidden (N:,S:, ...) via the score options.
- Add score option to show clef on all staves.
- Add lyrics support.
- V 1.5
- Display hornpipes and mazurkas in the conventional manner (or indeed anything similar).
- Allow for the F: and S: header fields.
- Add version number into the title bar.
- V 1.6
- Change music background from light yellow to white so color printers don't use so much ink !!!
V 1.7
- Warn of playing problems experienced if JMF is installed with versions of Java beyond 1.4.2.
V 1.8
- Fix NullPointerException which stops the score displaying if malformed ABC is encountered. This was particularly apparent when using the %% printer control stuff which is not strictly speaking valid ABC.
A full copy of the latest version
ABCJ
is freely available here under the terms of the
GNU public license.
You must have Java 1.4.2 or later installed (it may work on early versions of Java 2 though).
The latest version of Java can be found here.
The following 3 downloads are available :-
- ABCJ as a self installing JAR file. Just download this file and then execute it. For Linux, use the shell command 'java -jar ABCJSetup.jar' or the equivalent.
Download the ABCJSetup.jar self-installing JAR file
(898K)
- ABCJ as a ZIP file. Just download and unzip the contents to a folder. You can then execute the ABCJ.JAR file directly or use the ABCJ.BAT file to do it for you. If you wish to use ABCJunior instead then execute the ABCJUNIOR.BAT file.
Download the ABCJ.ZIP zip
file (273K)
- The ABCJ source code in the form of an Eclipse 3.2 workspace. In the interests of space I have removed the compiled class files and JAR files.
Download the ABCJSRC.ZIP zip file (276K)
- ABC Home Page - The home page for Chris Walshaw's well known music notation.
- PalmABC - My software to play and edit tunes on Palm OS based handheld PDAs.
- PocketABC - My software to play and edit tunes on Microsoft Pocket PC based handheld PDAs.
You are visitor number

Email me (Steve Spencer-Jowett) with
any comments about ABCJ