The Tonnetz, playable.
Touch Tonnetz is a map of the 24 major and minor triads that you can tap. Tap a triangle to hear the chord, and every other chord on the lattice shows the Neo-Riemannian transformation that reaches it.
Free for 7 days with everything enabled. After that, one purchase unlocks it for good.
Chords that share notes sit side by side
On the Tonnetz, every circle is a note and every triangle is the triad made of its three corners. Moving left to right goes up by perfect fifths; the diagonals move by thirds.
Two triangles that share an edge share two notes, so getting from one chord to the other moves a single voice. Neo-Riemannian theory names those three moves:
- P Parallel: C major to C minor. The third moves a semitone.
- L Leading-tone exchange: C major to E minor. The root moves a semitone.
- R Relative: C major to A minor. The fifth moves a whole tone.
Chain them and you can reach any triad from any other. The app labels each triangle with the shortest chain from the chord you tapped.
What you can do with it
Read harmony in a key
Choose a tonic in Settings and each triad is labeled with its Roman numeral in that key. The transformation labels stay on, so you can see a chord's function and its voice-leading distance from the chord you tapped at once.

Build progressions by tapping
Open Progressions and tap chords, single notes and bass notes in order. Play the sequence back at 0.5 to 2 seconds per step, remove any step, and save the ones worth keeping.

Stack notes into your own chords
Triads are built in, and the Chords drawer covers everything else: tap any notes and bass notes to stack a seventh, an added-note or a cluster chord, then save it. Saved chords can be used as steps in a progression.

Full spellings or plain note names
The lattice keeps each note's spelling, so its far corners reach double flats and double sharps. If you would rather read G than A♭♭, switch Note Spelling to note names only.

Six color schemes
Three dark and three light. Pick one of each, and the button in the bottom bar switches between them.
Dark
Dark Cool
Dark Warm
Light
Light Warm
Light Ocean
The operations on the labels
P, L and R are the three single-voice moves. The other five are short chains of them that are common enough to have their own names. A compound label reads left to right: PL means apply P, then L. The same primer is in the app's Help screen.
P Parallel
Major and minor on the same root. Two tones hold and the third moves by a semitone.
C major ↔ C minor
L Leading-Tone Exchange
Two tones hold and one moves by a semitone: the root of the major triad drops to its leading tone.
C major ↔ E minor
R Relative
A major triad and its relative minor. Two tones hold and one moves by a whole tone.
C major ↔ A minor
S Slide = LPR
The third stays put while the root and fifth both shift by a semitone.
C major → C♯ minor
N Near Fifth = RLP
A fifth-related chord of the other mode, reached by moving two voices a semitone each. Also called Nebenverwandt.
C major → F minor
F Far Fifth = PRL
A fifth-related chord of the other mode, reached by moving two voices a whole tone each.
C major → G minor
H Hexatonic Pole = LPL
No common tones, and every voice moves by a semitone.
C major → A♭ minor
O Octatonic Pole = PRPR
The same kind of chord a tritone away, with no common tones.
C major → F♯ major
Also in the app
Piano, brass and woodwinds
Three sampled instrument sets. Each one covers every chord and note on the lattice, plus a row of 12 bass notes.
Zoom to 4×
Pinch on a touchscreen, or scroll with a trackpad or mouse on a Mac. Drag to pan while zoomed in.
Chord labels on or off
Hide the chord names when you want to read the lattice by its notes alone.
Your work on every device
Settings, saved chords and progressions sync through iCloud across iPhone, iPad and Mac. On Android they are included in your device's Google backup.
Choose where it plays
On iPhone, iPad and Android, send the sound to the speaker, wired headphones or a Bluetooth device from Settings.
No account, ads or tracking
The app runs on your device. It has no sign-in, no advertising and no analytics. Details are in the privacy policy.
