Virtual Analog Filter Design 101

Collection of zero-delay, TPT filter implementations

(8 Votes)
1.3 (Updated 2 years ago)
March 14, 2019
Reaktor 6


Version 1.2 and 1.3 update:
* minor optimisations
* added "303" style 4p diode ladder LP filter

Version 1.1 update:
* updated cell notes on value ranges I typically use for stable resonance control

I noticed there hasn't been a more recent take on Zavalishin's VA-Filter Design (Version 2) in here. I started teaching myself what I would call Zavalishin's "modern" approaches to VA-filter design a while back and struggled my way through following all the math. After quite some sweat, blood and tears I finally felt like I had grasped the ideas he describes in his book.

Long story short, I thought I'd share my takes on some VA-filters here in the library as this might be of interest to some of you out there. I based my designs not only on Zavalishin's work, but also on some of Will Pirkle's books and some of the great tutorials by salamanderanagram on ADSR reaktortutorials.

This ensemble is just a collection of core cells, if you want to do more than look at the design, please copy the core cells to another ensemble and hook them up there. I tried to document the macros, in- and outputs properly.

Here's a list of what is currently in the collection:
* 3 types of bilinear integrators (worst to best)
* 1-pole, analog multimode filter (linear)
* 2-pole, analog State-Variable multimode filter (linear)
* 4-pole, analog transistor-ladder low-pass filter (linear)
* 2-pole, Korg35 transistor-based low-pass filter (linear)
* new: 4-pole, analog diode-ladder low-pass filter (linear)

I will add more filters in the future as I go :).

Note: All filters should be stable for all parameters, but some filters can self-oscillate. Please watch out for high-gain output signals at large values of resonance, especially when modulating the resonance amount. The resonance parameter input is not always labelled Q, but might be called k or K for example. The information on the cell should clarify.

Hope you enjoy!


Eric Bridenbaker
2 years ago
Hi Benjamin, I did get to test them, and they're great. Nice to have these variations. I'm a bit confused about the integrators. I started reading that paper but the concept still eludes me as to what those are for..
Benjamin Fabricius
2 years ago
Hi Eric, No worries, have you had a chance to test them yet?
Eric Bridenbaker
2 years ago
Thanks for these!
Benjamin Fabricius
2 years ago
Actually, Jonathan, my bad... the screenshot still contains the core diode in it. I have updated it to make it less confusing.
Benjamin Fabricius
2 years ago
Hi Jonathan, Not quite sure what you are referring to? For a very brief period I had an ensemble version uploaded that included the Core "Ladder D(iode) NLA" filter. I was using this during development to compare with. I removed that version again though, since i did not mean to upload it with the Core "Diode Ladder". The new "4p 303 Diode Filter" core cell should work as described. Hope that helps, maybe retry downloading the current version and let me know if you still cant get it to work. Cheers,
Jonathan Tremblay
2 years ago
you didn't include the core diode, it doesn't show up.