Midi Note Scrambler

plainofjars's icon

Hey--I'm thinking about/looking for a MaxMSP gadget that scrambles midi notes from a midi keyboard, or rather reassigns new pitches to them. For instance the application could assign all the notes of my midi keyboard to just the notes of, say A Dorian, and the keys of the keyboard would play only the notes of that mode. A might no longer be A either, if one did not want it to be. Or it could scramble the chromatic scale, moving the pitches to new keys (G would be Db, E would be A, etc). Does something like this exist already? Apologies in advance for being a newb. The function would be to defamiliarize the interface of the standard keyboard and potentially inspire melodies that might not have otherwise suggested themselves to a seasoned keyboard player. Thanks in advance for your thoughts on the existence of such a "midi note scrambler" or the construction of one.

Chris Muir's icon

I have a fairly comprehensive scale quantizer system available, called "Scale Master." It can be found here: http://xfade.com/max/

Luke Hall's icon
Max Patch
Copy patch and select New From Clipboard in Max.

The [coll] object and some maths is definitely your friend here. Take a look at the patch below which assigns random output notes for each input. You can quite easily modify this so the keys are forced to certain scales.

Dan Nigrin's icon

For constraining to scales, try VJ Manzo's Modal Object Library for Max - very useful!

plainofjars's icon

Thank you so much, Chris, Luke, and Dan. Those modal libraries will I think be quite helpful. I'm still trying to make some sense of the patch you posted, Luke. It certainly works just as you explained, but I'm having trouble figuring out how and where to integrate something like VJ Manzo's "modal_filter" and "modal_change" which seems to be appropriate for the kind of modal implementation I mentioned. I'm just having trouble knowing how to put it all together, as I'm still learning the behaviors of some of the requisite objects. I don't want to sound like I'm asking someone to just "do it for me", but would you guys be able to offer any more specific guidance? Thanks again for your help with this stuff.

Luke Hall's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here's an example where you can input the note steps of an octave of any scale (the examples are major and natural minor) and have it populate the [coll] automatically, its not too difficult to add a note offset so it doesn't default to C. If you get stuck with any particular object then open the helpfile and reference page and read as much as you can. Perhaps even try piecing the patch together yourself from the bottom up so you can see what each object/stage does.

Luke Hall's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Here's an example where you can input the note steps of an octave of any scale (the examples are major and natural minor) and have it populate the [coll] automatically, its not too difficult to add a note offset so it doesn't default to C. If you get stuck with any particular object then open the helpfile and reference page and read as much as you can. Perhaps even try piecing the patch together yourself from the bottom up so you can see what each object/stage does.

Dan Nigrin's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Yes, modal object library takes a little bit of time to wrap one's head around. Here's essentially how I use it, in a stripped down patch (also screenshot at the end). You will have to install MOL before using. Basically, choose your scale with the umenu dropdown, then you can vary the original note, and see the effect it has on the scaled note...

Dan Nigrin's icon
Max Patch
Copy patch and select New From Clipboard in Max.

Yes, modal object library takes a little bit of time to wrap one's head around. Here's essentially how I use it, in a stripped down patch (also screenshot at the end). You will have to install MOL before using. Basically, choose your scale with the umenu dropdown, then you can vary the original note, and see the effect it has on the scaled note...

2355.molexample.png
png
Chris Muir's icon

My Scale_Master library is also pretty easy to use, FWIW. Once things are installed properly, there are only a couple of abstractions to know about.

Here's an picture of a patch that uses it in a couple of simple ways:

Chris Muir's icon

My Scale_Master library is also pretty easy to use, FWIW. Once things are installed properly, there are only a couple of abstractions to know about.

Here's an picture of a patch that uses it in a couple of simple ways:

2356.SMExamples.png
png