The Random Chord Progression Generator is a Java Applet that generates random chord progressions. You need to have the latest version Java installed (download from
Java Downloads - Sun Microsystems) and have Java enabled in your Internet browser.
Chord Progression Generator V2.1
(See also
Random Strumming Pattern Generator)
Version 2 is a major overhaul from
Version 1 which includes more features and an upgraded GUI (special thanks to my mom for making the buttons as she is much better at Photoshop than I am.

)
This chord progression generator is different from the ones that I have seen because it actually uses music theory to generate "good" sounding progressions instead of randomly picking chords from a key and putting them together, although there are settings for that as well and even for generating chromatic progressions that don't follow a key. The theory used is actually very simple, the chord progression movements are limited to
specific movements which guarantee that the flow from one chord to the next always sounds good musically (such as the I IV V progression, which follows the same movements). These specific movements are called
harmonic conjugations explained in my lesson on
Harmonic Conjugations. If you are new to music theory, you may want to start at the beginning of my
Music Theory Basics lesson and start working up towards the harmonic conjugations lesson.
No theory is involved in the addition of the chord extensions however, the extension is simply added at random if one or more of the extension buttons are pressed. So if you have several of the extensions enabled you may get some very strange sounding progressions, but the basic triad portion of the progression should always sound good.
FEATURES
GENERATE: Generates the chord progression.
NEW EXTENSIONS: Generates new extensions without changing the basic progression, the only thing that is changed is the extensions at the end of each chord.
RESET BUTTONS: Resets the buttons back to the default setting. This does not reset the chord progression. The only way to change the progression is to press the generate button.
Diatonic/Chromatic/Open Chords: The diatonic setting generates chord progressions that are in a specific key and the chromatic setting generates progressions that are not in a key. The chromatic setting will likely sound like a bunch of random out of key chords thrown together.... because that's exactly what it is.

But you could get some interesting sounds out of it. See below for Open Chords mode.
Key/Starting Chord:: In diatonic mode, the Key drop down list lets you choose the key for the progression. In Chromatic mode, the Starting Chord drop down list lets you choose the starting chord for the progression.
NOTE: both of these can be changed without generating a new progression. So if you like the progression but want it in a different key, you can choose a new key and the existing progression will be transposed into the new key.
COMPLETELY RANDOM: If this button is active, the chord progression does not follow the
harmonic conjugation movements mentioned above and the chords are randomly selected from the key.
SHOW ROMAN NUMERALS: Displays the chord progression as roman numerals. Information on Roman Numerals can be found in the section on Roman Numerals in my
Music Theory Basics lesson.
SHOW CHORDS: Displays the progression as chords, based on the key that is selected from the drop down list.
7TH -- SUS4: The extension buttons at the bottom are used to enable a particular extension and the next time the generate button is pressed that extension will be randomly added to the chords in the progression.
NOTE: With all of the extensions on, you could get really odd chords (such as G#m6b5add9). Since there are so many possibilities it would take a lot to try to get every possible scenario to make sense theoretically, for example removing the "minor" from Cm6sus2 so that it's just C6sus2, since sus2 chords are neither major or minor. I've tried to account for some of the big ones, but keep in mind that you may find a few oddities on some of the more obscure chords.
o7TH: Toggles the 7th chords between half diminished (disabled) and full diminished (enabled) for the vii chord.
START ON TONIC: Always starts the chord progression on the tonic (I)
END AT START: Ends the chord progression on whatever chord the progression started on. This stetting will generate as many chords as it takes to get back around to the starting chord.
The extensions are not counted, so once the same basic triad appears again it will end the progression even if it has a different extension.
If "Start on Tonic" is enabled, then the progression will always start and end on "I".
If you are looping the chord progression you do not have to play the same chord twice, so you can skip the last chord in the progression.
NOTE: I put a limit of 16 chords on the number of chords this will generate in order to keep it from going off screen (although it still may every once in a while). So if the progression goes over 16 chords, it will not end on the starting chord.
REPLACE DIMINISHED: Replaces the diminished chord with the dominant 7 chord (V7). They both have the same function and they can be substituted for each other.
Open Chords: This mode will be very helpful for beginning guitarists to get used to switching between common open chords (major, minor, and 7th chords). The check boxes at the bottom allow you to choose the chords that you know and practice switching between them in different orders.
You can also use the Open Chords mode to help write songs in a certain key using only open chords by checking the chords in that key. Below is a list of keys and the open chords that would go with them. Some keys will have more chords than others as the other chords in the key are barre chords.
A Major: A
AM7 D
DM7 E
E7
A Minor: Am
Am7 C
CM7 Dm
Dm7 Em
Em7 G
G7
C Major: C
CM7 Dm
Dm7 Em
Em7 G
G7 Am
Am7
D Major: D
DM7 Em
Em7 G
GM7 A
A7
D Minor: Dm
Dm7 Am
Am7 C
C7
E Major: E
EM7 A
AM7
E Minor: Em
Em7 G
GM7 Am
Am7 C
CM7 D
D7
G Major: G
GM7 Am
Am7 C
CM7 D
D7 Em
Em7
Below is a list of features I would like to eventually add to it. If you have any additional suggestions, or come across any bugs in the program please let me know.
Hope you enjoy it!
Future Features Wish List (in no particular order):
"Grayed out" features are features that have already been finished and added to the program.
- Choose the number or chords in the progression (select from a list)
- Minor keys - (V2.0)
- Button for always start on tonic (I) - (V1.01)
- Button for always end on start - (will use as many chords as it needs to until it gets back to the starting chord) - (V1.03)
- Button for replacing diminished chords with V7 chords - (V1.02)
- Option for using real chords after choosing a key OR using Roman Numerals - (V2.0)
- Save progression in a text document
- Button for changing the probability of getting a particular extension (currently it is set at 20% for each extension)
- Better user interface - (V2.0)
- Beginner mode that will only allow open chords - (V2.1)
- Display what chord movements were used between the chords (up/down 2, up/down, 3, up/down 4, etc...) and color code them for harmonic conjugation movements and non-harmonic conjugation movements.
TROUBLESHOOTING
If you can't get the Progression Generator to load here are some things to try:
1) As mentioned above, you must have Java installed on your machine and enabled in your browser. You can download the latest version of Java at
Java Downloads - Sun Microsystems.
2) If you get an empty square with a red X in the upper
left hand corner, right-click on the empty box and open the Java console. When the console opens, clear the classloader cache by pressing the "X" key on your keyboard. You may also need to close and reopen the browser.