[Pipe Request] scale and offset

value = MX + Y

(value = data2)
even better would be to allow a curve to be specified, ie. is there a linear or exp relationship)

(result is clipped to 0…127)

use cases
midi in -> cc remap (4,4) -> scaleoffset (0.5x +0) : used to 'attenuate a cc 4
midi in -> velocity -> scaleoffset(exp) : remap velocity values

it could perhaps be generalised more, to allow either scaleoffset on data1 or data 2.
this would mean it could be a more generalised for of transpose. (as this is 1x+N) (when N can be negative)

(that’s said, perhaps this is more a bread n butter, primitive, so transpose is kept as its got a musical meaning)


Just found that suggestion again and didn’t find it in the Trello.
This would be really a great feature!
I think of also realizing sth. like a master morph control, were on controller inputs CC
value 0-127 but can be put out to several other CCs (even spread to different MIDI ports) with different ranges.

1 Like