scaling of midi mapping Max 8
Dear Forum,
I started working on a new project with Max 8 and was very excited to work with the new midi mapping functionality. But very quickly I came across limitations concerning the scaling of the mapping: The min. and max. range of the mapping can only be between 0 and 127. Is that true, or do I miss something here?
In my projects I very often work with values bigger than 127 or with negativ ones as well, and it would be great to map them directly with the mapping utility without using any additional objects in my patch.
Has someone a workaround for this?
Cheers,
Thomas
Hey Thomas! I haven't yet used the MIDI mapping feature, but as the standard output range for MIDI devices is between 0 and 127, I would think that the mapping function has been designed to match those numbers. If you're working with other numbers, I'd recommend using notein, ctlin, or midiin, followed by a route, (or first, if midiin, a midiparse); then adding a scale object will allow you to scale it however you like.
Hi, I have a similar question, but particularly: Is it possible for MIDI mapping to consider 14-bit CCs when assigning maps, so that the numerical range is 0-16383 instead of 0-127?
the mapping function can only support what midi supports.
there are currently 2 solutions:
1.) forget midi because it sucks
2.) wait another 25 years until midi 2.0 is finally ready.
(a process, which cycling 74 is already part of, but which will probably cause 100 new problems in return for the 100 old problems it will solve.)
in both cases you can throw away your current controller.
or, meanwhile you might want to learn how to implement interpolation in situations where you want to modulate stuff without audio hickups, or the combination of 2 controllers (fine/coarse) in situations where you are going to to control higher precision parameters in your sofware.
when you need both at the same time, you are currently f*cked with midi.
MIDI is 7 bit which is 128 or 0-127 counting the 0. I've read that MPE MIDI allows for more flexibility but I haven't used it yet. I have used MIDI controllers with lighting though.
DMX is 8 bit, 256 or 0-255. The way that that Pan and Tilt, or LED colors get higher resolution under DMX control is by using two channels. One for "course" and one for "fine", as you can see in DMX charts for fixture profiles. So there's Pan, Pan Fine and Tilt, Tilt Fine for 16 bit resolution. Otherwise it's an 8 bit resolution, which means less smooth movements. Still, when using a MIDI controller the fader is sending 7 bit, not 8 bit. That's okay but not great. I don't know how to get around that, as it's a hardware limitation.
Not to be left out, there's also OSC which can be higher resolution and contain information other than numerical values.
In software I imagine it'd be easy to combine MIDI channels to increase the resolution but it's still going to be 7 bit control from a MIDI fader or velocity sensitive button.
I'm curious to read the replies of people here who have had experience with MPE MIDI resolution.
Here is what I've found in searching for MPE MIDI resolution:
https://cycling74.com/forums/high-resolution-midi-or-osc-controllers
http://www.rogerlinndesign.com/other-mpe-controllers.html
The best explanation I found to elucidate upon (your) Roman Thilenius's sharp criticism is here:
https://www.hakenaudio.com/mpe/
" The consequence of this is that a receiving synth immediately uses MSB values as they arrive, and LSB values as they arrive. Since the high 7 bits and the low 7 bits are not updated synchronously, this will always create intermediate glitch values. For example, updating from 14-bit controller value 0x137f to value 0x1401 always creates one of these two intermediate glitch values: 0x147f or 0x1301. This means the values have been reduced to 6 bits of accuracy (down from the normal Midi 7 bits) by using Midi14-bit controllers! MPE+ solves this problem with synchronous 14-bit updates. "
This leaves me wondering if Max / MSP supports MPE+ mentioned in the above quote. Would anyone care to comment?
I appreciate the angst about Midi, and realize there are other options, but the core question still seems unanswered:
Does the Max 8 Midi Mapping feature support more than 0-127?
the mapping function can only support what midi supports.
MSB/LSB CC assignments is, to my understanding, nearly as old as Midi 1.0, and certainly other non-CC parameters have a broader range (Channel Pressure, NPRNs, etc).
Since the high 7 bits and the low 7 bits are not updated synchronously, this will always create intermediate glitch values.
In “normal” patching cases, this could be solved by using ctlin and some glue logic, but the question here is, does the built-in Midi Mapping feature support this without adding patching?
MPE+ solves this problem with synchronous 14-bit updates
Hopefully sooner than 25 years from now ;)