Back

(((Notes)Chords)Scales)))

Real-time harmonic inference from MIDI input.

Play notes. The system finds chords those notes could belong to, then finds scales those chords could belong to. Surf multiple layers of the harmonic hierarchy as context changes in real time. Uses Boyd chord-ranking algorithm. Visualizes note → chord → scale relationships with D3. Used to score a 12-minute video harmonizing with an airboat's engine as the sun rises over a swamp in Florida.

2025 Software
Web App / AU Plugin
React / Vite / JUCE

You play; it names the harmony. Chord and scale, inferred in real time from live MIDI.

Available as:

Web App: runs in browser with Web MIDI support
AU Plugin: runs directly in your DAW on macOS (Logic Pro, Ableton Live, any AU host)

Input sources:

MIDI controller
Polyphonic audio-to-MIDI conversion
Any sound source (airboat, lawnmower, voice)

Notes Chords Scales interface

Related work

Scale Navigator Dashboard — the opposite direction: choose the scale first, then generate the harmony
Tonalign — the harmonic state, enforced on live MIDI
Ensemble Jammer — networked instruments that follow the shared harmonic state
SNaPS — a sampler that glides its samples to match the harmony