Offline
Orlando, FL

DOWNLOAD FOR PC: https://www.dropbox.com/sh/zyz636lt13y9 … RD5ea?dl=0

(.exe format. May need to 'run as administrator.' If you would like a mac or html5 export, please request it and I'll prepare it for you)

I coded this application to generate chord progressions. All you have to do is hold and release the spacebar. It also displays 1 of 182 scales from around the world that you can try to work into your composition. The transposition numbers below the scale name refer to semitones, so 2-2-1-2-2-2-1 would be a major scale.

I hope you all have a good 2017.

---

Below is the logic I used for chord progressions:
CHORD 1 = 1

CHORD 2 = 2,3,4,5,6,7

CHORD 3 = if CHORD 2 is 2, then 3,5,7
   if CHORD 2 is 3, then 4,6,7
   if CHORD 2 is 4, then 1,5,6
   if CHORD 2 is 5, then 1,6,7
   if CHORD 2 is 6, then 2,4,7
   if CHORD 2 is 7, then 1,3

CHORD 4 = if CHORD 3 is 1, then 2,3,4,5,6,7
          if CHORD 3 is 2, then 3,5,7
   if CHORD 3 is 3, then 4,6
   if CHORD 3 is 4, then 1,5,6
   if CHORD 3 is 5, then 1,6,7
   if CHORD 3 is 6, then 2,4,7
   if CHORD 3 is 7, then 1,3

CHORD 5 = if CHORD 4 is 1, then 2,3,4,5,6,7
          if CHORD 4 is 2, then 3,5,7
   if CHORD 4 is 3, then 4,6
   if CHORD 4 is 4, then 1,5,6
   if CHORD 4 is 5, then 1,6,7
   if CHORD 4 is 6, then 2,4,7
   if CHORD 4 is 7, then 1,3

CHORD 6 = if CHORD 5 is 1, then 2,3,4,5,6,7
          if CHORD 5 is 2, then 3,5,7
   if CHORD 5 is 3, then 4,6,7
   if CHORD 5 is 4, then 1,5,6
   if CHORD 5 is 5, then 1,6,7
   if CHORD 5 is 6, then 2,4,7
   if CHORD 5 is 7, then 1,3

CHORD 7 = if CHORD 6 is 1, then 2,3,4,5,6
          if CHORD 6 is 2, then 3,5
   if CHORD 6 is 3, then 4,6
   if CHORD 6 is 4, then 1,5,6
   if CHORD 6 is 5, then 1,6
   if CHORD 6 is 6, then 2,4
   if CHORD 6 is 7, then 1,3

CHORD 8 = if CHORD 7 is 1, then 4,57
          if CHORD 7 is 2, then 5,7
   if CHORD 7 is 3, then 4,7
   if CHORD 7 is 4, then 5
   if CHORD 7 is 5, then 7
   if CHORD 7 is 6, then 4,7

modifiers
none
+6
+7
+9
+6/9
+11
5 of

if 5, another option is b5sub

none and +7 are three times more likely to occur

modifier exceptions:
"5 of" cannot apply to 1, 4, dim 7, or dim 2

Last edited by Sir Bunting (January 1, 2017 1:11 am)

Offline
Coastal Australia

Nice work.  I'm on Mac but it was interesting to read the logic alone.

Offline
The future

pretty cool. reminds me vaugly of something i was working on many years ago (that maybe i should come back to)
http://www.jackanderson.net/msh/index.php

do you plan on releasing the source code?



Brackleforth wrote:

DOWNLOAD FOR PC: https://www.dropbox.com/sh/zyz636lt13y9 … RD5ea?dl=0

(.exe format. May need to 'run as administrator.' If you would like a mac or html5 export, please request it and I'll prepare it for you)

I coded this application to generate chord progressions. All you have to do is hold and release the spacebar. It also displays 1 of 182 scales from around the world that you can try to work into your composition. The transposition numbers below the scale name refer to semitones, so 2-2-1-2-2-2-1 would be a major scale.

I hope you all have a good 2017.

---

Below is the logic I used for chord progressions:
CHORD 1 = 1

CHORD 2 = 2,3,4,5,6,7

CHORD 3 = if CHORD 2 is 2, then 3,5,7
   if CHORD 2 is 3, then 4,6,7
   if CHORD 2 is 4, then 1,5,6
   if CHORD 2 is 5, then 1,6,7
   if CHORD 2 is 6, then 2,4,7
   if CHORD 2 is 7, then 1,3

CHORD 4 = if CHORD 3 is 1, then 2,3,4,5,6,7
          if CHORD 3 is 2, then 3,5,7
   if CHORD 3 is 3, then 4,6
   if CHORD 3 is 4, then 1,5,6
   if CHORD 3 is 5, then 1,6,7
   if CHORD 3 is 6, then 2,4,7
   if CHORD 3 is 7, then 1,3

CHORD 5 = if CHORD 4 is 1, then 2,3,4,5,6,7
          if CHORD 4 is 2, then 3,5,7
   if CHORD 4 is 3, then 4,6
   if CHORD 4 is 4, then 1,5,6
   if CHORD 4 is 5, then 1,6,7
   if CHORD 4 is 6, then 2,4,7
   if CHORD 4 is 7, then 1,3

CHORD 6 = if CHORD 5 is 1, then 2,3,4,5,6,7
          if CHORD 5 is 2, then 3,5,7
   if CHORD 5 is 3, then 4,6,7
   if CHORD 5 is 4, then 1,5,6
   if CHORD 5 is 5, then 1,6,7
   if CHORD 5 is 6, then 2,4,7
   if CHORD 5 is 7, then 1,3

CHORD 7 = if CHORD 6 is 1, then 2,3,4,5,6
          if CHORD 6 is 2, then 3,5
   if CHORD 6 is 3, then 4,6
   if CHORD 6 is 4, then 1,5,6
   if CHORD 6 is 5, then 1,6
   if CHORD 6 is 6, then 2,4
   if CHORD 6 is 7, then 1,3

CHORD 8 = if CHORD 7 is 1, then 4,57
          if CHORD 7 is 2, then 5,7
   if CHORD 7 is 3, then 4,7
   if CHORD 7 is 4, then 5
   if CHORD 7 is 5, then 7
   if CHORD 7 is 6, then 4,7

modifiers
none
+6
+7
+9
+6/9
+11
5 of

if 5, another option is b5sub

none and +7 are three times more likely to occur

modifier exceptions:
"5 of" cannot apply to 1, 4, dim 7, or dim 2

Offline
Orlando, FL
Phil Harmonic wrote:

pretty cool. reminds me vaugly of something i was working on many years ago (that maybe i should come back to)
http://www.jackanderson.net/msh/index.php

do you plan on releasing the source code?

It's made in Game Maker Studio. I can share the .gmx file if you would like.

It's amazing that yours can export a MIDI. Is that XML?

Offline
NL

There's quite a bit of redundant code, but it's more complex than what I made in some areas, which is just random ground notes.

However, my scale generator is wilder (I have two, actually), the chords I play respect the scale used (which makes for some interesting philosophical questions as to what a minor chord is), and the progression cycle can grow much larger, or smaller, than 8 entries; also the chords are all triads, I'll need some serious tweaking to have more than 3 notes.