Looking for interval table for different keys...
I would like to map a set of buttons to the note numbers
that correspond to a specified key. In order to do that,
I would need to know what the root note is and if it is
major or minor. If I had some interval table I could
then map those notes to my buttons. Does anyone have a
table that specifies the major/minor interval values for
all keys? A table of modal interval values would be great
to have as well.
I don't know that there is such a thing. Some intervals can be labeled "major" or "minor" (such as major third, minor sixth, major seventh), but others cannot (such as perfect fifth, perfect fourth, tri-tone).
If you're using midi notes, you can put the note number through a [% 12] object (modulo 12) to "filter" out the octave and just leave you with the note. Then if you subtract the base note from the interval note, you'll know how many half steps apart they are, and you'll know the interval. For instance, 7 half steps is a perfect fifth.
Is that what you're trying to do?
Ultimately what I want to do is have some menu that I would
select "D min" and all the right MIDI note numbers would be
assigned to the right buttons. I guess the simple way would
be to have a col holding the eight notes for each key, major and
minor.
I thought a more sophisticated way would be to have a table
of intervals for minor/major scales and given a root note,
derive the notes of that key. It would be great to be able to
do the same process for modes as well.
Am I barking up the wrong tree here?
how many buttons are you working with?
if you are using 8 buttons and you're only interested in major/minor/modal scales, then you can just put in the proper intervals between scale steps. For example, a major scale would be 0 2 4 5 7 9 11 12; a Locrean (eewww) scale would be 0 1 3 5 6 8 10 12; a harmonic minor scale would be 0 2 3 5 7 8 11 12; etc. Then, take this number and add your octave + interval of transposition; so it would be like this: SCALE DEGREE + (12 * X) + Y = MIDI NOTE #; with x = octave number, and y = interval of transposition (0 - 11). Hope this helps/makes sense.
Maybe I'm just not understanding you but I don't really see the difference between the [coll] method and the [table] method you've described. Ignore me if I'm way off the mark but are you trying to make something like this?
lh
Yes, that is basically what I want. That should be a good place
to start from. So we have...
major 0 2 4 5 7 9 11 12
harmonic minor 0 2 3 5 7 8 11 12;
Locrean 0 1 3 5 6 8 10 12
I will dig through some music theory resources and try to
come up with dorian, lydian, mixolydian, etc. If anyone knows of
a handy table online that lists these, please let me know.
The intervals table on wikipedia should help you figure it out.
lh
All the standard modes can be derived from the major scale, as they are the same pattern but offset, so dorian = d to d on white keys; phrygian = e to e on white keys, etc. so a zl rot on the original major scale (0 2 4 5 7 9 11) would get you all 7 sets of note distances. Every key has the same interval values for their modes, just a different root note, sorry if this is obvious...
For other crazier scales maybe a jazz theory book would help, that was by far the best theory course I took as a music student (and it wasn't required, for some insane reason...) The most crucial thing I learned is that you can think of scales as 13th chords---all the notes of the scale are in the chord, just stacked by 3rds. The different patterns of m3 and M3 intervals determine the "flavor" of the chord/scale. For example: Cm13 = C Eb G Bb D F A as a stacked chord, or C D Eb F G A Bb as a scale (technically dorian).
There are some exceptions like doing four m3 or three M3 in a row, which give you the octave note instead of skipping over it and going into the next octave.
Great stuff when you boil it down to numbers. The %12 as mentioned is also very handy for this kind of experimenting.
--CJ
I agree jazz theory goes a long way to explaining how these things
work. A lot of this stuff I know intuitively when playing, but
it is hard to write down all the rules. Thanks everyone for the
pointers.