View Single Post
Old 05-08-2019, 03:50 AM   #55
Human being with feelings
sai'ke's Avatar
Join Date: Aug 2009
Location: NL
Posts: 851

Originally Posted by Eliseat View Post
Great. In some situations its smoothing things a bit more. But oversampling does not work with the wet/dry adjustment because it creates a flange effect (very short delay).

I wonder if the tanh already gets used often because its really obvious that your saturation gets its grip in a smoother transition than most others plugins do. In fact that is in my opinion the biggest problem with usual distortion plugins because they often react different to hardware gear especially with the slow transition from softer distortions to the harder ones.
Tanh is a relatively expensive operation. I guess fairly frequently people approximate the tanh with a cheaper alternative (in terms of CPU). So-called Padé approximations are pretty common (iterated fractions). Some people might also use a fraction of polynomials. In terms of "error" as quantified by squared distances, you can get pretty close with these, pretty fast.

In some cases, sticking in an approximation like that also lets you solve certain equations, rather than having to iterate over them. For filters this can really reduce the CPU cost by a lot and in a polyphonic synth, where you have filters running on a per voice basis, you often don't have a choice to do anything other than such approximations. Nobody wants a synth that eats 50% CPU

Another option that is frequently used are lookup tables, but then of course you have some rounding off to whatever entries you have in the lookup table going on. But what each plugin uses is guesswork. I'm happy you think it sounds nice, but I couldn't tell you what exactly it's doing differently.

Argh, good point regarding the comb filtering effect! It totally makes sense. With my sleepy head I forgot to do delay compensation for the FIR filter. @_@

I will fix this very soon and do a proper AB subtraction test with polarity inversion. Until then, keep oversampling off.
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke is offline   Reply With Quote