[sdiy] Bezier? B-Spline?

Tom Wiltshire tom at electricdruid.net
Sat Mar 7 22:13:41 CET 2015


This technique is excellent for generating smoothly varying random waveforms, for instance. I'e used it on many LFO algorithms for this. S'funny, I always though of it as "cosine interp" not "sine interp", but it's all the same thing.

On 7 Mar 2015, at 20:59, Scott Nordlund <gsn10 at hotmail.com> wrote:

> I found a simple variation of linear interpolation that's monotonic and has a continuous first derivative. Use sinusoidal segments rather than linear. To interpolate between points A and B with fractional component x, linear interpolation is (1-x)A+xB. For sinusoidal segments, you can replace x with s = -0.5*cos(pi*x)+0.5
> 
> The disadvantage here is that a straight line with multiple consecutive segments (i.e. 1, 2, 3, 4, 5...) will have ripple. It's also not generally useful for interpolating audio signals, as the frequency domain performance is worse than ordinary linear interpolation. But it's nice for crossfading wavetables or constructing smooth-ish curves out of arbitrary points.




More information about the Synth-diy mailing list