I am working on a computer program that generates a simple melody, based on a simple chord progression of four chords taken from the 7 triads of the C Major scale. The program is also supposed to generate the progression.

I was looking for an algorithm that will allow my program to discover chord progressions that sounds at least 'decent', and distinguish them from those that don't.

However, as far as I understand, this algorithm doesn't really exist in a simple enough level.

So what I'm asking, is for general guidelines for increasing the chance of knowing whether one chord is going to sound 'okay' (or even good) next to another chord in a progression.

This way I can use these guidelines in my program, to lower the chance of two chords that don't sounds good together, be put next to each other in a progression.

  • 5
    Like this musictheory.net/lessons/57 ?
    – Dom
    Commented Jan 15, 2014 at 22:20
  • While some Chord combinations may make a better progression than others with some trending towards harsh and others being too plain, I think the modern ear would have difficulty finding a truly terrible sounding diatonic progression.
    – amalgamate
    Commented Jan 11, 2016 at 21:43

5 Answers 5


The link I posted in the comments gave a good explanation on how chords resolve best in a major key and I will reiterate that and explain in general what is preferred in an progression.

Common Tones

Let's start out with common tones as touched on by user2808054. I will be using C major as an example, but also put the Roman numerals so it may be reproduced in any major key.

The most amount of movement between notes will always be going up or down a 2nd. There are no notes in common between triads up or down a second.

C - Dm - Em  - F  - G - Am - Bdim - C
I - ii - iii - IV - V - vi - viio - I

When you go up or down a 4th, the triads will have one note in common.

C - F  - Bdim  - Em  - Am - Dm - G - C
I - IV - viio  - iii - vi - ii - V - I

The least amount of movement between notes will always be going up or down a 3rd. The triads will have two notes in common.

C - Em  - G - Bdim - Dm - F  - Am - C
I - iii - V - viio - ii - IV - vi - I

Going up and down a 3rd makes the smoothest transition, but you do want some motion in your progression and using too much of one type of movement will make the progression sound predictable and dull.

Where chords want to go

MusicTheory.net gave a wonderful, wonderful graphic and explained where certain chords want to go in a progression. In the key of C major this would be:

Em ->  Am -> [F or  Dm] -> [G or Bdim ( -> Em )] -> C -> ANY
iii -> vi -> [IV or ii] -> [V or viio ( -> iii)] -> I -> ANY

As you can see there is usually common tones moving from one note to another, but not always. These are just general guide lines, but they do sound good.

In any progression, you would want to start with I and end with some kind of cadence. The most typical cadences are half (ANY -> V) and an authentic cadence (V (sometimes viio) -> I).

Progression Length

A typical progression is usually a multiple of 4 measures long and the cadence will usually consist of the last two chords play and may be in the last two measures or last measure depending on the harmonic rhythm.

There's a lot that you can play around with and try and use all of it. In short use a mix of large, small, and no motion and always start on I and try and end with a cadence and your progression should be fine.


Any sort of chord progression guidelines/common practices such as those given in the other answers will obviously lead to the recreation of very predictable, familiar progressions that you have heard many times before in countless songs over your lifetime.

You will not 'discover' anything at all.

Using only diatonic chords as you intend will severely limit your outcome as borrowed chords and substitutions are very common. I suggest including non-diatonic chords and doing the required work to incorporate these.


There are specific, but broadly applicable steps to building a melodically-functional and pleasing sequence of chords. Like progressing in fifths up the harmonic scale, returning to the tonic with some frequency, especially from the V chord or V7, chains of consecutive chords of the same type (a string of majors), chords with more complex internal ratios moving to chords with simpler ratios. You could probably build an algorithm based just on the guidelines in this section of How Music Really Works


if you want a general method you can apply behind all the theory this chart works for you.Just choose any chords you want and use them accordingly.

Chord Progression chart


I've considered this myself - my thoughts were that a chord whcih shares a note with another chord will probably sound "ok" next to each other

Eg C and Am both have C

C and F both have C

G7 and F both have F

It;s a bit simplistic though.

OR ..

Chords where one note in chord 1 forms a progression from a note in Chord 1 onto another note in chord 2

For example C7 and F .. The C7 contains a C (of course), and Bb. When you go to F the Bb becomes an A.

So the 'implied' progression is C, Bb, A.. maybe it owuld be good to work out a few nice simple progressions, and work out some chord sequences which fit those ?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.