I want to efficiently map MIDI velocity (0 to 127) into an amplitude range from 0 to 1. I want it to be a non-linear mapping.
I’m doing this:
input_value (0 to 127 MIDI velocities)
output_value (0. to 1. for use with a [*~] object)
Is there a more efficient way to do this using standard math objects?
Also, how would I write the above using the [expr ] object?
Thanks in advance,
do you know about linedrive and scale?? both can do exponential mapping.
Yes, I know about them. I’d like to be able to port this over to Pd very easily. I’n not sure they are available for Pd.
I usually use [expr pow(($i1/127.),$f2)]. If the right inlet is 1 the conversion is linear. I’d recommend starting with something like 0.7 and adjusting it from there.
The lp.scampf object from Litter Power will do this with its default settings and a ‘pow $1’ or ‘exp $1’ message, where the parameter controls the steepness of the curve.
Later on I read you want a Pd solution. In that case you’ll probably have to roll your own. For better or worse, I do not see a Litter Power for Pd in the immediate future.
Good luck anyway,
Thanks to all for the help.
you can create curves in a buffer
On Sat, Dec 6, 2008 at 4:06 PM, Mitch Turner wrote:
> Thanks to all for the help.
Log in to reply
Let us tell you about notable Max projects, obscure facts, and creative media artists of all kinds.