map to scale

Thinksamuel's icon

In quite a lot of software, it is possible to map a MIDI output to a specific scale. I was wondering how this can be done in Max. for example: a random MIDI stream mapped to C major

vichug's icon

i made a patcher for that, i attach it there

gammification_tools_and_dependencies.zip
zip
Thinksamuel's icon

that seems interesting. But why did you use the preset object and a keyboard. Would it not be easier to use a menu and a coll? The advantage of your approach is that you can create your own scales. Do you mind if I integrate this in my sonification toolbox?

vichug's icon

Go ahead ! Umenu would be a good idea probably, instead of the preset ; or in combination with it, to show the scale name. But the preset system has an advantage acutally, i use [key] with the arrows keyboard to navigate between presets and change scale quickly ; so you can have a "map" of your chords progression and navigate in it with arrow keys. I used a keyboard instead of a coll because it's much more practical to visualize i think, and you have the microtuning sliders under the scale.

hyakken's icon

Hello,
You can make scale table with "table" object.
I can send you my patch, if you want.
Thanks

Roman Thilenius's icon

there was a similar thread about 7 weeks ago

Peter Castine's icon

[expr ($i1*12+$i2)/7]

Maps consecutive integers in the left inlet to notes of a scale. Change $i2 for different keys.