Tips for smooth input CV processing?

Hey.
I’m currently developing an application on top of Daisy Patch, but I think those things should be generic.
I want to ask for some tips about how to process incoming CV (and manual knobs twiddling too) smoothly.

I’m currently using the Parameter class from libDaisy (https://github.com/electro-smith/libDaisy/blob/332dc9b6e3272539c632069acb64b3ad69311816/src/hid/parameter.h#L12) with the linear curve.

In some places, there is a pretty audible jittery with no modulation at all, but in most cases, a jittery feel is when the rate of the modulation is fast (but not audio rate).

Should I use some kind of interpolation instead of Parameter class usage or there is an already implemented approach?

Yes interpolation always helps it sound better, though if you are using the full 12 bits it shouldn’t be huge jumps. Take into account the rate of change of the CV input and what amount of smoothing you want.

1 Like

You can use an adaptive filter to smooth parameter changes coming at an unknown rate or resolution. I’ve got very good results with this class: Smooth.h, Smooth.cpp. It may require to tweak the parameters a bit for optimal results, depending on the highest modulation rate you need. I personally use a sensitivity of 0.1 at 2 Hz for sub-audio rate modulation sources.

1 Like