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
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?
----------begin_max5_patcher---------- 1264.3ocyZssbaaCD8Y4uBNLoyzl3lhcA.uz9T+A5S8sNYzPKAqvDdQiHUiS yj+8hKjxl1xRPjfj5AQM.hD7rGr6YW.nueyB+6JePT4686d+i2hEe+lEKzco 5XQS6E94IOrJKoRea9eoJKcsXm+sleqbeclnt9aaElAwOsn1+VyWder4l1lT u5SoEaVtSrp1be.M5Cja8nw5uB.T8Em9AxgGpXedZgbr0uVr80c+8UB8Pfrl t1kTrQ+xihd7IMvpyitcmnRTTmTmVV7TfvUuYy0iAiz0Zyt7tO+q7PeUe+3l aTWt0RBShl6NOecmzJNIg0vTQFDRTWQxSv48kE0EI45g0+O2klj4eLhDNIGo Fjpz+SOHZt3kbPvLxAXf15oH8UIgc4I5alOwzBqOzxpx7bgx1M+Vs3AM18yJ +pWim9YcHvHhw00sdDD6McpKM85xhjrz5ucBCGIw5PVl19YwylgCtzvqVkjI N0zcjY5lFXzMmKqlEOmhfLsNMFFOupfrdkIHWTUkrQ7ho9vWkWNIYv4lbAst BbYLQzkyE3Q4Bvdtf4RtHnmbAkbUvEfK4BdO4BRzUAWftjKH8iKZRRN6bAwk bAqebAKJ3ZfKnbWxEzdxEArqBtf5Rt.6IWvtJxiPcp1IzSt.uJxif8qHKwWk O7KKo1K0KcnqWuQHEHLyxkAE0LGkdAANjZ9MuvSRLmtjC8Rt.zTPN1WBYn9J .2gDx6jujAyHgj4kQv4beZZIAypSmukn.QNzsP7v1cduMEd+O+1T7c.9K8Sc sc+aHFJhf8kbFb8XtLl4mFfHRqr5rKhvbHgjm7EQQYsPNCS7XDxPy8z51XBo .n2wTzAFSQ6Utm84hh8miCzerfDZzUBujPmzZQdyd7q1.c0q5V0k7jOWt6wV oExVGe62OtXD8zDmxHadsGa2zQWlHW4tIQlG3ed2nP5v1vT5.2AMzkhOuu2R OMzAhyc1ZzgzwlDoryIVGjsQYlRX.N2sYnrWpAg4+rll8ZXvdssIN5DJoMkm f5U7DwtzCnj77ymDv9b9jZxm7JP3oYvgqJUklcnOZtTUbYxkUkYYd5ziK0mR yRU1lpSKxXSJ81vrXilCk513Ll8wYsiZUx+1ZEu4uT3WY5GJNnq064+GpKu4 uUWuOKYipOP5q14WHOuC4cfc5P1h1oCYKdmNXx5c5zg7mi5zQfZ0D5dNPcJS Y8Ro0Io6kI006RuaesodjEGl9W3KjBlZh.zcncXbpaipFK251zliZ1cafy61 7Rq2gtMrK2sI9EtMfycazikeVZwy+i0nmKU820Wppb+tUs7WyIpIM+CPZsnp NsPmW3I2DOnyM8oz0qEEOMuSd55skR45FPvCzaYmQWlQBaa38wi5waMVgw.q z3QAq3XfUHbLvJkOBXkEyGErRGCrJWl1Xf0wvekwGkXKLdLvJNNwVjQ.qCDS bqzQCuLLgg545l+IJ.K7Pqgh1.KPKLsLnMPhwmTHwBsESvzgIqDqYSJOQC5P AGGS3ExSz.81DQMaOBF+XKWfVhMn8JS9fNsAjnMd+HdYypbl9ftQYkL5+Pol M8R0ZfnErwGDl1YUvJY1oMVErQ+.hlVLEYimV3zhIahHQxzhIaCHmPQhQ.RM UJh.yr8dvgVCEr1f1IVj0pjQvzhIvlz4SOjNqp0zBIhsybSWwg.XoCdegjrw Ot4+A2QoJwC -----------end_max5_patcher-----------
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.
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.
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
Forums > MaxMSP