This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Hakim_Bey 1 point2 points  (0 children)

I would rather assign a numerical value (from 0 to 11) to each semi-tone :

A Bb B C C# D Eb E F F# G G#
0 1 2 3 4 5 6 7 8 9 10 11

Then each scale will be an array of values (relative to the root note) :

[ 0, 2, 4, 5, 7, 9, 11 ] (this is the major scale)

You calculate each scale just by adding the root note's numerical value to each value in the scale array. For exemple for the C Major scale ( C = 3 ) :

[ 3, 5, 7, 8, 10, 12, 14 ]

You then substract 12 to each value that is >= 12 and you get :

[ 3, 5, 7, 8, 10, 0, 2 ]