[sdiy] Bezier? B-Spline?

Sarah Thompson plodger at gmail.com
Sat Mar 7 21:25:59 CET 2015


The classic way to do this is a cubic spline. There's a C++ library here:

http://kluge.in-chemnitz.de/opensource/spline/

I don't know if it will be fast enough for audio. This will guarantee that you hit the points dead on. It's most likely the algorithm used in, for example, After Effects for smoothing motion paths for CG objects. You might also look at Kalman filters as an option for something that runs much faster -- they aren't used for audio normally because they are nonlinear and will introduce distortion, but they have the property of gettting much closer to the points (though not necessarily dead on) than a more typical Butterworth/Chebychev/elliptic response. They are used a lot in control systems, possibly most ubiquitously for smoothing location data from GPS receivers.

Hope this helps,
Sarah

PS: I have one of your clock divider Euro modules -- nice work there. :)

Sent from my iPad

> On Mar 7, 2015, at 11:23 AM, Tim Ressel <timr at circuitabbey.com> wrote:
> 
> Hi,
> 
> I have an application where I need to take segments of a multi-segment envelope generator and make them smoothed curves. Each segment is comprised of N samples. I want the smoothed curve to go through the end points of the segments. I was hoping a clever math dude can show me how to do this.
> 
> Thanks!
> 
> Tim Ressel
> Circuit Abbey
> 503-750-9331
> timr at circuitabbey.com
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy



More information about the Synth-diy mailing list