[sdiy] Fast envelope generation

Neil Johnson neil.johnson97 at ntlworld.com
Thu Dec 20 11:06:32 CET 2012

Hi Tom,

>>> You can read the curve as a interpolation index x, and then do the following linear interp calc:
>>> y = ((1-x) * start) + (x * end)
>>> This gives you the curve between the two points 'start' and 'end' and saves the scaling, for the cost of two multiplies. Since you can read any lookup table, you can insert any curve between the two points for no more work.
>> As always the devil is in the details....
> Sorry Neil, you've lost me. What do you mean?

Assuming the code on your website is current then I believe there's a
rounding bug in your interpolation routine.

Modules and more: http://www.cesyg.com
Homepage: http://www.njohnson.co.uk

More information about the Synth-diy mailing list