A Unique Way to Play

View the Project on GitHub gmuller/harmonictable

HarmonicTable is a replica of the C-thru aXis built with Java and Processing that is playable with a mouse and keyboard. The end goal of this project is to port the application to a touchscreen.



On the main screen any of the keys can be played by mouse There are two tabs at the top, one for the main table screen, and one for setup. On the setup screen you will find options for the Starting Note, Midi Input and Output, as well as toggles for note release and Midi Thru.

Starting Note
The note you select in this scroll list will be the note that the matrix starts with. You can think of this like selecting the octave on a small Midi controller, only this allows you to set any note as the lowest note.
Midi Input and Output
These are the midi input and output selections. By default, Harmonic Table will select the first input and output available on your system. MidiOutput is on channel 0 by default, input will accept any channel unless one is selected using the number box.
Midi Thru
When this option is turned on, any notes arriving at the input port will be mirrored to the output port.
Release Notes
When this option is turned on, note off messages will be send immediately when the mouse or key is released.
Chord Mode
Chord mode allows the user to play chord when clicking or dragging notes around on the screen. To play a chord, hold down a key from the chart below while clicking a note to play the associated chord:
Row 1
1 Major
2 Minor
3 Augmented
4 Diminished
Row 2
q 7th
w Major 7th
e Minor 7th
r Minor Major 7th
Row 3
a Add 9
s Add 4th
d 11th
f 13th
Row 4
z Minor 9th
x Minor 11th
c Minor 16th
v 6th

In addition you can turn on chord lock by pressing the 'b' key. When enabled the user need not hold the key of the chord being played down, just press the key once and any note click will play the chord that is locked. At the top right of the menu bar a message displaying both the chord being played and the chord lock status are displayed.

This was built using the Processing libraries, along with the ControlP5 library and Ruin & Wesen's rwmidi library for midi functionality.

See me on Make!


This is an executable jar, meaning if you have java installed on your machine (version 5 or above), you should be able to double-click it and you’re off and running.

Harmonic Table 05

You can check out the source or report an issue here.