In a live performance patch of mine I use a lot of scale-objects to scale data coming from midi controller and often I want to do that exponentially. However, scale behaves strangely there - there's a (relatively) big jump from going from the first value to second, after which it progresses normally, as you'd expect. For example, if I have an object like this: "scale 0 127 0. 80. 1.04", the output with 0 is 0, with 1 it's 0.571336, with 2: 0.594189, 3: 0.617956 etc. I.e. it jumps ~0.57 from 0 to 1 after which it goes with smaller (at first approx 0.02) increments. (A simple example patch is at the end of the post).
Is this a bug or what? What would you suggest as a (simple/elegant) work-around to get a smoothly scaled exponential output (with various steepness-es)? I've been using sel to single out the first value and subtract from the others to get a smooth response, but this is obviously a pretty ridiculous thing to keep on doing. I suppose I could pretty much do the same with expr, but I'm not very fluent with it - what kind of expression would it have to be?