๐น Chord Progression Generator
Pick a root note, scale (major or natural minor), and a progression pattern, and this tool generates the diatonic chords (triads built entirely from notes in that scale) for that key. Useful for songwriting ideas or improvisation practice.
How to use
- Choose a root note and a scale (major or natural minor).
- Choose a progression pattern (e.g. I-V-vi-IV) to see the actual chord names and roman numeral notation for that key.
- Click "Randomize" to pick a random root note and progression pattern.
How the calculation works
Choose a key (a root and major or natural minor) and a progression pattern to build a chord progression from the keyโs diatonic chords (triads made only from notes of the scale). The Random button picks a key and pattern at random. Diatonic chords in a major key: I, ii, iii, IV, V, vi, viiยฐ In a natural minor key: i, iiยฐ, III, iv, v, VI, VII (Upper case is major, lower case minor, ยฐ diminished.) Chord names are spelled from the keyโs scale, so the IV of F major is Bโญ, not A#.
Worked example
The pop progression (IโVโviโIV) in C major C โ G โ Am โ F The same progression in F major F โ C โ Dm โ Bโญ The Andalusian cadence (iโVIIโVIโv) in A minor Am โ G โ F โ Em The Canon progression (IโVโviโiiiโIVโIโIVโV) C โ G โ Am โ Em โ F โ C โ F โ G
Things to be aware of
- In minor keys, the V chord is often made major (E instead of Em in A minor) for a stronger pull home, borrowing from the harmonic minor.
- Learning progressions as Roman numerals lets you apply them to any key at once.
- Adding sevenths (Cmaj7, G7 and so on) gives the same progression a richer sound.
FAQ
What do the roman numerals mean?
They're standard music theory notation for which scale degree a chord is built on. Uppercase means a major chord, lowercase means minor, and ยฐ marks a diminished triad.
How are the chords for a minor key determined?
They come from stacking thirds on the natural minor scale, producing the standard diatonic triads: i, iiยฐ, III, iv, v, VI, VII.
Does this support seventh chords?
No, the current version only covers basic triads.