Recursive Filtering Showdown

About one year ago I stumbled upon Jakub Ciupinski’s amazing video VCV Rack Hacks | Supercharge your VCF. I fell in love with the technique, which I like to call recursive filtering. But the Liquid filter really abuses the CPU when performing 16 recursive passes.

I put together a patch that compares the performance and behavior of a bunch of filters with regard to recursive filtering, and discovered lots of filter alternatives that I used in quite a few musical patches. I’ve been hanging on to the comparison patch (actually many variations), wanting to create a demo video and share. But I could never get around to creating the video.

Well today Chris theRealKitman posted an enquiry related to the technique, and there was a bunch of interest. I realize it is time to get off the pot and post, even if I don’t have a video to go with it.

So here it is. recursive fllter docB.vcv (8.2 KB)

I have calibrated all the filters to track V/Oct with C4 at 0V. Most of the filters are free, but I also included a couple premium filter modules. The patch should work fine if you don’t have those filters. There are some amazing options for recursive filtering. I did not include any filters that did not track V/Oct, or could not do a decent job selecting a limited set of partials.

All controls that are intended for user control are labeled in yellow. There is a lot to explore - have fun discovering what the various labeled controls do! If you get stuck, ask a question.

One note - the Bogaudio filter is able to hone in on a single partial using only one filter pass, and does not perform well if you try multiple passes. So it has its own dedicated routing button to enable or disable recursion. As “shipped”, the bogaudio filter only does 1 pass.

6 Likes

Also, be sure to activate the CPU meter to compare the CPU usage of each of the filters - the differences are staggering!

2 Likes

I noted on a different thread that Stairway and Liquid both use a ton more CPU that some others - like 10X. One of them I wrote, and am suitably embarassed.

1 Like

I’ve also noticed that Liquid and Stairway are CPU hogs, and it’s a shame because they’re probably my two favourite filters! They seem to work particularly well with guitar sounds, I’ve tried tons of different filters and they’re the ones I keep going back to. Notes to self: try F2 again, and get round to trying that filter trick.

1 Like

Oh hush now.

Stairway sounds great, and its CPU usage is right on par with other popular filters like Vult Tangent and Doepfer Wasp. Numbers are all hardware dependent, but comparisons on the same machine are meaningful:

  • Stairway: 10.7%
  • Tangent: 11.5%
  • Wasp: 9.0%

The Liquid filter does have a distinctive lush sound, but it is quite insane how much CPU it uses. What I find exceptionally impressive is how the Slime Child Audio Substation LP4 sounds and behaves very much like the Liquid, yet is over 7 times more efficient!

  • Liquid: 25.3%
  • LP4: 3.5%

All the CPU numbers are worth looking at, especially in conjunction with the sounds that the individual filters produce - they are all different, and have their own strengths.

5 Likes

One other point concerning the calibration of the filters. Many of the filters are self oscillating, and I could have simply cranked up the resonance to get very clean sine waves at the resonant frequency. But I want the filter to only output partials that are actually present within the input.

So I calibrated each filter so that if fed a sine wave as input, the output would be silent (or nearly silent) except when tuned to the fundamental sine wave frequency.

2 Likes

well, F2 is a LOT different from Stairway. most notable is that F2 doesn’t distort, or if you make it distort it doesn’t sound very good. That’s why it has a limiter built in, and on by default. Stairway, of course is all about distortion, which partially explains why it’s such a CPU pig.

1 Like

Does analog modelling not make a big difference here?

As far as I’m aware Liquid, Wasp and Tangents are all modelled but Stairway and LP4 aren’t (could easily be wrong about something there though!)

I’d expect analog modelled filters to use more CPU than non-modelled ones which might explain why LP4 uses a lot less than the others.

well, sure, but it’s always going to come down to “does this sound good enough to justify the CPU it uses”. If one were to make “the ultimate filter” would it be analog model? Built from the ground up as a new digital filter? Who knows? If I could make an analog model 1% better sounding by modeling another small thing, but it doubles the CPU, would it be worth it? So, while I think you are right about the design methodology, I would hope it doesn’t matter to the end user what the methodology was, just judge it on the sound.

2 Likes

I haven’t looked at the code, and I probably wouldn’t be able to recognize modeling if I did. But I believe the SubStation filter and mixer are both modeled.

If you play with my patch and compare the analyzer spectra between the Liquid and LP4 it is uncanny how similar they are - and the sound is equally similar. I can only assume they are following a similar model. The SubStation mixer saturation is also gorgeous, and again, I assume it is modeled with loving care.

Jakub Ciupinski raves about both in his video review.

1 Like