3

I'm working on a program to help musicians write chord progressions. You pick the chords one at a time in sequence, and the computer to try to "guess" what chords should come next, similar to the way iphone guesses what word i'm trying to type.

For example, given C-Am-F, the next is likely G.

Here are some rules I've come up with so far. ("home" is the first chord in the song, "last" is the last chord so far, "next" is the chord the computer will guess)

  1. the tonic note of next is in the scale of the last (eg. G is in the F major scale)
  2. the dominant note of next is in the scale of the last (D is in the F major scale)
  3. the tonic note of next is in the scale of home (G is in C major)
  4. the next and the last have some notes in common

A score is determined based on the number of rules that are satisfied. (Some might be weighted more than others.) The top 10 chords based on score are then presented to the user to pick from.

Has this already been done? Can you help me to think of more rules? I know that my rules so far are not very good.

  • 3
    Personally I would prefer to set an expectation and then challenge it to create surprise for the listener. I would prefer to look at it from a totally different perspective, and since I’m trying to write to a feeling, I can’t figure out how a computer could be programmed to help me with that. I definitely would want something that suggests the next chord I might use based on my writing history - unless perhaps I use it to make sure I do something new and different every time. But then the algorithm can’t learn from me. – Todd Wilcox Nov 12 '18 at 6:28
  • The quality of your results is going to depend heavily on the quality of programming, and what "rule set" you allow. See, for example, Hindemith's book on theory and harmony. – Carl Witthoft Nov 12 '18 at 14:01
  • I might add that this sort of thing has been done many times - with expert programmers setting up neural nets with adjustable weights for far more properties than just chord progressions. – Carl Witthoft Nov 12 '18 at 14:04
  • 2
    Yeah, you might have more success with a Markov chain, where a chord is followed by a selection of other chords, each with a certain probability of being chosen. – Dekkadeci Nov 12 '18 at 14:09
  • 1
    @JohnHenckel this may interest you: it's a statistical study of the occurrence of chords in rock music midside.com/publications/declercq_temperley_2011.pdf, especially jump to p. 61 chord transitions – Michael Curtis Nov 13 '18 at 19:13
2

Percy Goetschius, an American music theoretician of the 19th and early 20th centuries, gave the following table in one of his books. Should get you started. As he says, the ordinary progressions are those of one class to the left, so these should get the largest probability weight. Make sure to give the "digressions" (motions to the right) some love too, however, otherwise you would never leave the tonic class anymore, and also the larger digressions (two classes to the right) for the sake of surprise. What these relative probability weights should be numerically depends on the particular style you want to recreate. Of course all of this doesn't account for modulations, which have their own "rules".

enter image description here

0

The Project looks like a good idea, However take a look at piano companion(android) mobile app ( I think it has something similar to this feature). Also check garage band(ipad) app.

The example rules listed in the questions are not clear to me, I think you have mixed note and chord in your example rules (the tonic note of next is in the scale of the last (eg. G is in the F major scale) this is confusing, you can reword the rules)

Meanwhile also take a look at chord progressions using "circle of fifth" in music theory, that will help you come up with possible next chords for a given scale, given first chord and given last chord.

Also consider adding major,minor natural,minor harmonic, minor melodic,pentatonic scales support and possible chord progressions including major/minor/augmented/diminished/sus2/sus4/7th/dominants/9th/11th/13th chords and midi instruments selection.

0

Just browsing the paper (indicated by Michael Curtis) and it is a gold mine! Particularly this table.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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