Chord Progression Lab
Build a short progression from scale-degree triads rather than entering arbitrary notes on a score. Choose a 12-tone-equal-tempered tonic and major or natural minor, then set each chord's degree, inversion and optional melody pitch class. For every transition, compare three ascending three-voice placements, common chord tones and exact semitone movement. Hear a browser-synthesized progression and export mono PCM16 WAV with a JSON account of the rules and notes. This is a deliberately small educational model: the greedy local minimum is not a full four-part harmony check, key signatures use sharp pitch-class labels, and melody membership alone cannot name a passing tone or suspension.
Key features
- Derive all seven triads by stacking scale thirds in major or natural minor, with root/first/second inversion and named chord tones.
- Compare three inversion placements against the previous chord by total absolute semitone motion across three fixed voices.
- Mark an optional melody pitch class as chord tone, diatonic non-chord or chromatic non-chord; show shared chord tones separately.
- Edit 2–8 chords by adding, removing and moving steps; choose 0.5–2 seconds per chord and hear a local additive-synthesis rendition.
- Save a real 48 kHz mono PCM16 WAV and JSON with settings, three-voice notes, alternatives, motion and synthesis limits.
How to use
- Choose the tonic, major or natural-minor mode and chord duration, or load the C-major example.
- Edit scale degrees, reorder chords, and select a root, first or second inversion from the three motion comparisons.
- Optionally select a melody pitch class and read chord-tone membership, shared tones and voice movement.
- Render and play the synthesized sequence, then save WAV and the exact JSON analysis.
Use cases
- Compare how a first inversion changes the bass and the three-voice movement in a short I–vi–IV–V sketch.
- Inspect whether a selected melody pitch belongs to the current chord, merely the key scale, or neither.
- Export a reproducible chord plan and a short synthesized listening reference for rehearsal.
Frequently asked questions
Which harmony system does the tool use?
Only 12-tone equal temperament with A4 = 440 Hz. Major intervals are 0,2,4,5,7,9,11 semitones and natural minor is 0,2,3,5,7,8,10. Triads take scale degrees 1,3,5 above each root. Natural minor leaves the fifth-degree triad minor; it does not automatically raise the leading tone or use harmonic/melodic minor.
How are inversions and voice leading compared?
Each inversion sets the bass to root, third or fifth. The other two chord tones ascend above it. Candidate notes stay in MIDI 48–84 with a span of at most 24 semitones. Given the previous chosen chord, each option minimizes the sum of absolute semitone moves for fixed low/middle/high voices. This greedy local score does not enforce voice ranges, tendency-tone resolution, parallel-fifth rules or globally best movement.
Does a non-chord label identify passing and neighbor tones?
No. The label checks pitch-class membership only. A note outside the current triad but inside the selected scale is marked diatonic non-chord; one outside the scale is chromatic non-chord. Calling it a passing tone, neighbor tone or suspension requires the surrounding melody and rhythm.
Why do the chord names use sharps in flat keys?
The interface treats enharmonic spellings as the same equal-tempered pitch class and displays a fixed sharp name for calculated tones. This is not traditional key-signature spelling. A key such as F major may show A♯ where staff notation would use B♭.
What will the WAV sound like, and can I import it as MIDI?
The WAV is a simple three-voice sine-plus-second-harmonic synth with short attack and release, not a sampled piano. It is 48 kHz mono 16-bit PCM. The JSON records pitches and timing but is not a Standard MIDI File; playback balance and device volume vary.
Is anything uploaded or saved automatically?
No. The progression and synthesis remain in browser memory. WAV and JSON are only downloaded when you click save. Reloading the page resets the editor to the example.
Privacy
All editing, harmonic analysis, synthesis and playback take place in this browser. There is no audio upload, account or external music API. Settings remain in memory until this page closes; downloading WAV or JSON is explicit.
Comments & questions