Music / Harmony
Chord Progression Generator: Roman Numerals and Voice Leading
Choose a key and mode, use common templates or type Roman numerals, add sevenths, choose voicings, play the progression and export MIDI or a chord chart.
Chord Progression Generator: Roman Numerals and Voice Leading: Pick a key and mode, start from a common progression or type your own Roman numerals, and see every chord spelled correctly with smooth voicings. Add sevenths, play the progression back, copy a chord chart or download it as MIDI. Runs 100% locally in your browser with zero server file uploads.
- Category
- Everyday tools
- Runs
- In your browser
- Cost
- Free · no sign-up
- Availability
- Ready to use
Runs entirely in your browser
| Roman numeral | Chord | Spelled notes | Played pitches |
|---|---|---|---|
| I | C | C E G | C4 E4 G4 |
| V | G/B | G B D | B3 D4 G4 |
| vi | Am/C | A C E | C4 E4 A4 |
| IV | F/C | F A C | C4 F4 A4 |
Roman numeral conventions
Templates follow the selected mode; blues uses explicit dominant sevenths. Typed uppercase numerals make major chords and lowercase makes minor chords. Add ° for diminished, ø for half-diminished, or + for augmented. An explicit 7 means a dominant or minor seventh; maj7 means a major seventh. V/V is the dominant of the dominant.
Unaltered degrees follow the selected mode. Prefixed b and # degrees refer to the parallel major scale, so bVII in A minor is G. The sevenths switch adds the scale seventh; explicit suffixes take priority. Each chord lasts four quarter-note beats.
Smooth inversions minimise total movement between sorted voices across the whole progression. The first chord stays in root position; later bass notes range from MIDI 48 to 72 and top notes stay at or below 88. Open voicings raise the second note an octave.
Piano samples: Salamander Grand Piano by Alexander Holm, CC BY 3.0. Tone.js MP3 conversion; samples are pitch-shifted during playback. Sample licence
Diatonic harmony
Triads stack scale degrees 1, 3 and 5; seventh chords add degree 7. Each scale degree is spelled on its own letter, preserving F# in D major and Bb in F major. Background: https://viva.pressbooks.pub/openmusictheory/
Voicings and Roman syntax
Uppercase and lowercase specify major and minor; ° specifies diminished, ø half-diminished, and + augmented. Explicit dominant seventh suffixes and V/target forms allow chromatic harmony. Voice leading finds a global minimum within the stated candidate register, rather than claiming unrestricted optimal counterpoint.
How to use it
- Choose a tonic and mode, then a template, random progression or custom Roman numerals.
- Set sevenths, close or open voicings and smooth inversions.
- Play at your chosen tempo, copy the chord chart or download MIDI.
Privacy & limitations
Harmony, playback and exports run in your browser. Nothing is uploaded.
Related tools
Frequently asked questions
What does bVII mean in minor?
Accidental-prefixed numerals use the parallel major scale. In A minor, bVII means G. Unaltered VII also follows the selected minor scale and means G.
How do secondary dominants work?
V/V makes a major chord a fifth above the dominant, for example D in C major. V7/V adds the dominant seventh. The supported secondary form is V or V7 over a target Roman degree.
What does the sevenths switch do?
It adds diatonic sevenths. Explicit 7, maj7, °7 and ø7 suffixes take precedence, so IV7 in C is F7 while the diatonic seventh on IV is Fmaj7. Natural minor uses a minor v unless you explicitly type V.
What is minimised by smooth inversions?
Total absolute semitone movement of sorted voices. The first chord is fixed in root position; later basses range from MIDI 48 to 72 with top notes at or below 88. Open voicing raises the second note an octave. Each chord lasts four quarter-note beats.
Free tool · runs in your browser · no account required