ChordTutor -
Chord Tutor for PDAs

Chord Tutor Logo

See the download page to obtain this program


The ChordTutor program gives help with chords. It contains a database of about 55 chords that can be displayed on a piano-like keyboard in any key. A chord quiz helps with training. The program runs on a variety of hand-helds like PalmOS devices (such as Palm or Handspring) and WinCE devices (such as PocketPC).

The program also supports entry of simple melodies on the PDA. The supporting MIDIConverter program allows these to be converted on a PC to MIDI format.


Warning This program was developed at a point when Palm screens were 160x160 and does not work well on larger screens

The program does not contain native code. Instead it is executed by the SuperWaba Virtual Machine (a kind of Java VM). If you have not already installed this, download the SuperWaba VM for your hand-held device. Once you have done this you can run a variety of SuperWaba programs, and not just this one. Although the program should run on a large variety of devices, it has been tested only on a couple of Palm devices.

The program has been developed with version 3.0 of the SuperWaba VM. It should work with similar SuperWaba versions, but past experience suggests that other versions may be incompatible. There are several VMs for various devices so it is not so feasible to include them with the distribution, but they can be easily downloaded. Note that the SuperWaba file organisation has changed in version 3.0. For example, PalmOS needs the following to be installed:


The distribution provides the binary code of ChordTutor for PalmOS (ChordTutor.prc and ChordTutor.pdb) and WinCE (ChordTutor.lnk and ChordTutor.pdb). Install the relevant pair of files as you would for any other program on your hand-held. Launch ChordTutor as a normal app. It will call the SuperWaba VM automatically to run the code. (The link file ChordTutor.lnk may need to be adjusted according to where you have SuperWaba installed.)

It is also essential to include the ChordDB.pdb file that contains the chord database. A sample file of melodies (ChordTutorDB.pdb and corresponding MIDI files) is provided for optional loading. Both databases use creator ID ChTu.

The SuperWaba system requires about 300 KB of storage on the PDA, though once you have installed it you can download and run lots of other SuperWaba programs. In addition, the ChordTutor program itself requires about 56 KB of storage, plus a working memory of perhaps 10 KB.

If you wish to re-build the code from source, you will need to download the SuperWaba SDK (Software Development Kit). Use the Makefile if you have the Make utility (or similar). See the Makefile for other targets, in particular make convert to run the MIDI converter. If you do not have Make, you could achieve a similar effect with batch files under Windows. If you have not already set up PATH and CLASSPATH, you will need to do so in these files. ChordTutor.mcf is a half-hearted effort to create a project file for Mobile Creator.

If you wish to use the program only on a PC, then again you need to download and install the SuperWaba SDK. Make at the command line will bring up an applet window to run the program. Unfortunately it is not (currently) possible to use a web browser or the JDK applet viewer because the required classes are scattered across many directories.

Main Screen

Main Screen

The main screen gives a choice of three functions. Click on the appropriate button. Do not Exit or switch out of the program if you have entered a score that you wish to preserve; make sure to Save it first.

Score Screen

Score Screen

The score screen allows you to enter simple melodies. Don't expect too much from this facility; it is additional to the main chord functions. For example, you can enter only a melody (no chords), there are no time signatures or bar lines, there are no ties. The code is also a little fragile.

Start by choosing a key signature. Once you have started entering a score, you are not allowed to change the key signature.

The caret at the top of the stave indicates the current note position. Notes are normally added at the end of the current list. If necessary, a score can extend over several pages. Click the left/right arrow to move between pages.

You can select an existing note by clicking on it. If you do not select a note's vertical position exactly, the caret will be reset to the top left (on the current page) or a new note may be appended (if you are not on the current page). It is possible to delete or insert a note while switched to another page of the score. However this is likely to lead to anomalies or even program crashes. Be sure you are on the current page before editing.

To enter a note, click a duration symbol and then click a position on the stave. To add an accidental, click a note and then click an accidental symbol. Sharpening a flattened note returns it to normal, and vice versa. Clicking natural for a note with a natural returns it to normal. The program does not support double sharps or flats, and accidentals are constrained by the key signature. The following functions are available from the menu or by keystroke:

A (About ChordTutor)
Select this for basic information about the program
C (Clear Score)
Select this to empty the current score (without warning)
D (Delete Note)
Click an existing note and select Delete to remove it; by default the last note will be deleted
I (Insert Note)
Click a new position on the stave in the same vertical position as an existing note and select Insert to append the new note to the existing one; the vertical position of the click will determine which note on the stave is created
L (Load Score)
Enter an existing title into the text box and select Load to retrieve the score from the database
S (Save Score)
Enter a new title into the text box and select Save to preserve the current score in the database

Chord Database Screen

Chord Database

Choose a key and choose a chord. The notes of the chord will be displayed on the piano-like keyboard, and details of the chord will be shown below. Click Play to hear the notes of the chord (played as an arpeggio since PDAs usually have only monophonic sound).

Chord Quiz Screen

Chord Quiz

Chords will be chosen randomly and displayed on the piano-like keyboard. Click Play to hear the notes of the chord (played as an arpeggio since PDAs usually have only monophonic sound). Click on the text of possible answers 1, 2 or 3. If your answer is wrong, you will be told the correct one and given another chance to answer the question. Clicking Next will take you to the next question without answering the current one.

Score Converter

Score Converter

The separate MIDIConverter program converts into MIDI format the melodies entered using the score facility. Note that this program can be run only on a PC, and there requires the SuperWaba JDK. Click on the title of a melody and then Convert to turn it into a MIDI file with the same name (e.g. 'Finlandia.mid'). Note that the opposite conversion (MIDI to score) is not supported.

The program needs to find the ChordTutorDB.pdb score database in the same folder as MIDIConverter. If you run ChordTutor on the PC, this will be true. If you run ChordTutor on a PDA, the database should be backed up on a hotsync. However the file is likely to end up in a strange place. For example, in my setup it is placed in C:\Program Files\Palm\JK\Backup. (C:\Program Files\Palm is where my Palm desktop software is installed, while JK is a short form of the name of my Palm.) You will need to copy the ChordTutorDB.pdb file to wherever MIDIConverter is installed.


This program is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation - either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but without any warranty, without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details.

You may re-distribute this software provided you preserve this README file. Bug reports should be sent to , who would also appreciate receiving any corrections or improved code. It would also be useful to hear which devices the program runs successfully on.


Version 1.0: First public version, Ken Turner and Yin Ping Tay, 4th August 2003

Up Arrow Up one level to Mobile Utilities

Web Ken Turner Home   Email    Search Search Web Pages

Last Update: 3rd August 2011