a program i'm making (yes that one) will benefit from knowing about musical scales. i looked in the source code for non-sequencer (i'll look at arpage next), and adapted an array there into the following form: { "Major", { 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 }}, { "Natural Minor", { 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0 }}, { "Harmonic Minor", { 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1 }}, { "Melodic Minor", { 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 }}, { "Major Pentatonic", { 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0 }}, { "Minor Pentatonic", { 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0 }}, { "Chromatic", { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }} (1 means a note is part of that scale, 0 means it is not). so for C Major: { "Major", { 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 }}, c c# d d# e f f# g g# a a# b (Unless I'm mistaken) all the above scales can be transposed to work with any key. Now I'm not very musical, and found my way to wikipedia, specifically this page: http://en.wikipedia.org/wiki/Whole_tone_scale Which says "In music, a whole tone scale is a scale in which each note is separated from its neighbours by the interval of a whole step. There are only two complementary whole tone scales, both six-note or hexatonic scales: * {C, D, E, F♯, G♯, A♯, C} * {B, D♭, E♭, F, G, A, B}. " Which is confusing for me because it seems I can represent it in the array as: { "Whole Tone", { 1, 0, 1, 0, 1 ,0, 1, 0, 1, 0, 1, 0 }}, But goes on to say I it is impossible for any key other than "c" or "b" but the array representation seems to show it could work for any key. Can anyone explain? Cheers, James. _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user