Moog "zero delay feedback" ladder filters + Korg & friends
  • @Taylor- Exactly my thoughts! Thanks for the hard work. As an almost first time user, I would say that having the possibility to build such filters is a milestone.
  • Korg-MS20-Selfosc.png
    1024 x 768 - 28K
    1920 x 1040 - 346K
    1920 x 1040 - 376K
    The SEM filter is my preferred filter. This is recorded from an OB-ish synth I'm currently doing, playing with the knobs that continuously change the modes of the filter.

    The filter can't self-oscillate. The resonance control is also totally different compared to the Moog and Korg filters. It is controlled via a damping feedback path, faithfully (I hope!) recreated here in the model.

    It is different from the Doepfer version of the filter because you can't really overdrive the filter. I think it's closer to the OB-6 version. However the different modes should be identical, with the added possibility to crossfade between multimode and bandpass (instead of an on/off switch).

    Have fun. Comments welcome!
    2048 x 1536 - 105K
    SEM filter.audulus
  • Oh man, this sounds so good! I'm really looking forward to drowning this in some spring reverb.

    I'm really curious what is that adsr is doing inside the filter?
  • This is a really amazing add - I'm A/Bing it with the Doepfer SEM and I almost prefer it (seems more thick). But really they're *almost* identical, at least on the patch I'm listening right now. GREAT JOB!
    oh man, I'm totally hooking this up to my formant table :-)
  • Thanks guys ;). I have to admit that I love this new baby, on a polysynth with the correct settings it's just wonderful. And I didn't even try with effects yet.

    @RobertSyrett - What you're looking at is the damping "circuit" that switches on and off. However you don't want instant action, not realistic and source of audible "clicks". This is the reason of the presence of the ADSR with non-zero attack and release values. The higher release value adds some inertia.
  • Screen Shot 2017-05-09 at 2.39.27 PM.png
    598 x 529 - 191K
  • Looks great. If i were you, I would use VA or ZDF instead of z-1 for the digital filters. z-1 is not necessarily positive for a filter (adding a single sample delay in the feedback path is detrimental to the sound). You're going to do a HQ video, right?
  • Ooh good idea - I'll ZDF. Yes I'll do a whole walkthrough of it once I finish it up - gonna add some modulation sources as well.
  • I'll also do a blind filter shootout between "like" filters (Doepfer vs. your SEM, your Moog vs. the Mankato, which is moog-like).
  • Ouch. I hope they're *that* good...
  • Screen Shot 2017-05-10 at 10.36.39 AM.png
    633 x 536 - 347K
    816 x 612 - 194K
  • I still love filters made with analog circuits for aesthetic reasons, but those filters are pretty much identical sonically once a little delay or reverb is applied.
  • @SansNom : I had read part of the ni doc you linked in the start of the thread a while back, and am going to reread a bit of it now. Are you certain these qualify as zdf? i had a debate with Jaroslaw from BeepStreet that this technique was possible in audulus, (he said it was not, and i was trying to see if it was). I am mainly asking because i recall something about the resonance feedback not using a z-1. At any rate im going to study the doc and your filters now and see if i can find anything helpful to contribute.

    the hp korg could use some study, its my favorite filter and i might see if i can submit an alternate, the others are really good. I may post some of my prior attempts as well.
  • This one switches back and forth every 4 beats. Max resonance.
  • @MacroMachines - I'm glad you're asking because with all the communication that's going to happen with the Moogfest and all, I just wanted to make sure that everybody understands as already stated in this thread that I'm not the author of these filter designs. The authors are V. Zavalishin and W. Pirkle. If you look at the "Art of VA filter design" book, and in particular W. Pirkle App notes ( ), you'll see a lot of block diagrams that are basically "Audulus patches on paper". I just copy/pasted these ZDF diagrams in a sense (and I believe that Afta8 was doing the same when I started this thread). So, as long as the z-1 node works as it should, I'm pretty sure these are ZDF filters. I'm also confident because the behavior of the Audulus linear models match perfectly the predictions, in particular the position and intensity of the self oscillation harmonic at all cutoff frequencies. With additional delay this would be completely wrong. Look at the TPT (ZDF) block diagram in Zavalishin book (fig. 3.18 p. 48), there is no delay in the feedback path but there is a z-1 node (for the integrator).
    So really my only merit was to know where to go and what to find. I also tested and designed some of the nonlinearities and specificities of the filters (which are critical), especially the Korg 35 and SEM. If you rework the Korg filter, I think the priority is oversampling. Otherwise, whatever you're going to do/improve, it will be crushed by aliasing (as nonlinearities are so dominating in this case).
  • @biminiroad- Well that's pretty convincing after all! I just quickly listened to your demos but it's really hard to tell the difference. Nobody can tell you that Audulus sounds "thin" anymore hehe!

    Edit: and really impressive patch btw!
  • Thanks SansNom!
  • @eall123 - You're welcome! More filters to come!
  • @biminiroad - I'm curious, how did you choose the positions of the knobs on each filter? Are the positions identical?
  • @SansNom - Thanks! And yes the knobs match up really closely but not exactly. I'd find a good sound on the ZDF then try to match it on the analog one. Had to adjust the range a bit but surprisingly close. The Mankato was a lot more 1:1. But once you match them, you can just change the settings in Audulus and they'll track with one another. The Doepfer SEM has stronger resonance too so it was backed up to like 90% when yours was cranked, but I dont mind.
  • Well these are typically the things that can be adjusted. For the SEM I tried to match the OB-6 with the soundfiles I could have access to. But it's possible to get much more resonance.
  • What is the difference between a ZDF and a Z-1 filter?

    Also, @Sansnom, the thing you are being given credit for is translating esoteric equations into Audulus. I can read the math, but i still don't really understand what the variables represent to the extent I can make a patch out of it. Your specific skill set is greatly appreciated :)
  • z_1LP.jpg
    566 x 341 - 51K
    558 x 344 - 43K
  • The 1-pole ZDF filter shown above btw, featuring LP and HP.
    1-pole 'ZDF' filter.audulus
  • apologies if this is answered by looking at the patch you just posted, SansNom (I'm at work and I don't have Audulus installed here to look at it). I'll have a look at the patch when I get home ... but ...

    I'm really trying to wrap my head around how these filters work. I've looked over the links you've posted above, but I'm guessing I just don't have the background to decipher it.

    In the diagram above, what does the triangle labeled g/(1+g) represent?
    I think z-1 must be the single sample delay ... (+) is a sum (I think) ... but what is the "-" adjacent to the (+) in the upper left?

    I feel like I'm just on the cusp of understanding this, but I need some spoon feedin', LOL :-)
  • @plurgid - No prob! The triangle is the gain (level node in Audulus). Yes z-1 is the single sample delay, + is a sum and the minus sign means that this signal is substracted to the input.
  • I think it's starting to sink in. I really appreciate you spelling it out. I should like to attempt to translate one of those myself, but I think I will be copying and pasting the math in between the cutoff knob and the level node.
  • Ah hah! It all makes sense ... g/(1+g) ... 0 being unity ... no attenuation. Thanks !
  • Woweee! I just built the 1 pole filter from the diagram above, and it works! And it sounds neat too!
    Now ,,, I know the answer to this question is "all the math in those PDFs", but ... like what's the "explain like I'm 5" version of what's going on here?

    Like ,,, how does hooking up a feedback loop through a single sample delay and a level knob end up knocking the high frequencies off a signal? This is fascinating and amazing! Mind == Blown!
    filter test.audulus
  • Finally having a chance to play with these filters myself tonight, they are beautiful! Tons of fun, lots of great sounds in them. Taylor's work, audulus, and the community continue to astound and amaze me. Thanks SansNom for making these and everybody else. Really cracking open a new world of sound here for lots of us. And an education to boot.
  • Wow that sounds amazing - very impressed.
  • Same, that is some next level up stuff! Sounds very performative too, not just fixed, feels good.
  • That SEM filter is lovely :) this is a great thread!
    Great job @SansNom
  • @biminiroad, I reckon Filter A is the Mankato but really hard to tell, might as well flip a coin!
  • @demcanulty - Thanks for the kind words!
  • @afta8 - I'm glad you like it. Yes the SEM is really good, I love this sound.
    As for the Mankato test, I expect the test to be easier with more resonance, here it's really difficult.
  • This is another Korg 35 test - I love how raunchy this one sounds
  • Yes and by adjusting the headroom you give to the resonance via the input level you have access to a wide variety of sounds. This filter is particularly sensitive to that setting (in opposition to the SEM for example).
  • @Sansnom I'm still really enjoying these filters but they remain something of a mystery.
    How would I go about adding 1/octave to the cutoff to one of these (say the LPF) while maintaining a minimum cutoff frequency of 20Hz?
  • Well I don't know really, I'm not used to that 1/oct stuff. Maybe biminiroad figured this out in his Moogfest patch. Perhaps you should convert in Hz and normalize to the 0-1 exponential control.
  • I gave it a crack, but only ended up whiting out the connections. I guess I will keep putzing around until I can figure out a solution.
  • So I tried using the cutoff frequency as the reference frequency for the exponential conversion and I think it works the way it does in modular world. You might need to adjust the cutoff frequency to make the resonance tonally consonant but it will keep the overtones similar across octaves.
    MOOG ZDF LP with KB tracking.audulus
    ZDF KB tracking DEMO.audulus
    Screen Shot 2017-05-15 at 3.38.06 PM.png
    521 x 526 - 52K
  • great work! thank you all patch/modules designers for these tools

    I have some new versions of these filters that add a few controls and displays - this was made with the Korg LPF and my new FM Waveshape VCO. The flute is the LPF self-oscillating, and fading in is a stereo VCO combo.
  • Really cool. Sorry, didn't have time lately to update the filters. KB tracking as pointed out by RobertSyrett is needed clearly, please share other improvements.
  • @sansnom - thats ok! Also I figured out an easy way to do input normalization that makes it easy to add a modulation input to the filter that is separate from the Hz knob. I've been realizing more and more that I should just integrate these translation modules into designs so you dont have to keep menu diving for stuff (like m2o should really be in the quantizer as well).

    What are you planning to add or update on the filter? I brought out the noise control that was hidden inside and I added a drive knob to the audio input that allows you to dial in x0.5-x10 gain factor. The noise control is great for dirtying up the filter it acts in conjunction with the drive control nicely. Especially good in self-res mode.