• ### Delet this

Hello!

Something that's always annoyed me and that I've never quite figured out is the scaling of exponential/square root curves into a line/line~/vline~ object. Eg. say I have a variable minimum value and range value. The range value goes into the right inlet of a [* ]. The minimum value goes into the right inlet of a [+ ]. The [* ] goes into the left inlet of the [+ ]. To use [pow] or [sqrt] properly, I need to have the [line] move between 0 and 1 and send the result into the [pow]. If I want to scale the 0-1 range up to another range (say, 100-1740), I can't do the scaling before the [line] or the resulting curve will be different (and fall outside of that range). And if I scale after the [line], the resulting values end up skipping due to having been scaled up from a lower resolution.

A hack around this is to have a second [line] after the scaling is done to smooth it out, but if eg. the first [line] has an envelope of around 2000, you need something like a 20ms envelope to smooth out the gaps in the values, which makes the the sound a bit laggy.

• Posts 3 | Views 1743
• I think you mix resolution with range. A range between 0 and 1 doesn't necessarily have a smaller resolution than a range between 100 and 1740. Resolution is the number of bytes (or bits) that represent a number. Since in Pd everything is a float, all values and ranges have the same resolution, so yes, the way to go is to make your curve in a range between 0 and 1 and then do the scaling and give it an offset. The values you'll input will determine the smoothness of your output.

• You're right. I probably was doing something on the control level and attributed the low resolution to the rescaling rather than the inherently low resolution of control level [lines] (which can be more noticeable at higher integer values). Sorry about that!

Posts 3 | Views 1743
Internal error.

Oops! Looks like something went wrong!