Chord Progression Generator

This program generates chord sequences of different lengths in different major keys. If the progression returns to the the starting key (the tonic) after 3 chords the progression will finish.

Click in the area below to start the generator and use your letter and number keys to change the progression key and length. (be patient, it can be a little slow) Or watch me give a demo below.

This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.

Like it? it. Thanks!

Source code: chord_progression_generator Progression key_translator

Built with Processing

Watch a demo

What's the point?

I wrote this program to provide inspiration. I have spent many years studying creativity and I firmly believe it's something that can not only be taught, but can be helped with the right tools.

This program is to help stimulate inspiration for musicians and songwriters. Music and songs have many different origins, sometimes from a catchy melody, sometimes from a phrase straight from the heart, other times from a sequence of chords that just sounds great.

While it's fine to sit at a piano or your guitar and play around until you hit on something interesting, with this program I intended to help stimulate some ideas to try and speed up the process.

Not every chord sequence sounds good, in fact, most just sound weird. But there are patterns in which chords tend to sound good after each other. For the major keys, some of these patterns are summarized in a chord leading table:

"All chords within a scale have related chords that they naturally lead to. Some chords can even lead to more than one chord." Idiot's Guide to Music Composition, Michael Miller p.27

The chord leading table leads to a finite set of possibilities, one that doesn't have to be worked through by hand, but could be done with a program. This program embodies the rules of a chord leading table - which chord should come after this one? - and generates a chord sequence of different lengths at random. For a little added versatility you can select how long you want the chord sequence to be, and, for ease of reading, it displays them in the key of your choice.

Interesting? Leave me a comment, compliment or note of derision on my contact form or at the email address below.