Scale Recognition based on 4 midi note input

    Dec 04 2013 | 12:22 pm
    Dear people,
    I'm trying to build a patch that works as a scale chooser based on list of the scales and 4 midi notes input from my midi keyboard. Somehow I'm getting a stack overflow and I can't solve the problem. It would be great if someone could help me with this. Btw, I'm pretty new with Max, therefore any help much appreciated.

    • Dec 04 2013 | 2:07 pm
      I recommend a perusal of Robert Rowe’s book:
    • Dec 04 2013 | 2:15 pm
      Hi I have a fair idea of what your patch is doing, but you have failed to include your scale collection inside coll, we don't have a text file called "scale" so you need to select "Save Data with Patcher" inside coll's Inspector, and un-name it.
      I automatically disabled the global message "; reset bang", this looks very like a recursive trap, but we can't test it til we get your coll filled.
      The patch below is a test to verify that saving coll's contents and then posting online works ok:
    • Dec 04 2013 | 2:16 pm
      . . .it does.
    • Dec 04 2013 | 4:42 pm
      Thanks for respond. Here's the patch with coll scale list included.
    • Dec 04 2013 | 6:01 pm
    • Dec 04 2013 | 6:39 pm
      Rick, thank you for the patch. I like "no match" idea and the bit with "if" object. Definitely I'll implement it. Still I would like to keep "scale transposition" sub-patch with both "counter" object automating lists comparison. My idea is based on distance between voices, not necessarily on the exact chord/numbers match. Therefore I thought to use transposition of the scales. While I'm typing this message I realized that I might need to come up with note distance values and than to transpose values in order to compare them to note distance values in the scales.
    • Dec 04 2013 | 6:45 pm
      Steven, thank you for recommending me the book. I pull it out my shelf (I do have it), checked it a bit and it still feels to advanced for my level. From the perspective of being jazz pianist willing to experiment a bit (which is my case) would be great to have some max patches illustrating Roberts ingenious ideas.
    • Dec 04 2013 | 8:56 pm
      Try it this way, transpose your input and then compare it to your stored scale.
    • Dec 05 2013 | 10:36 pm
      Great, this works! Rick, thanks for the patch!