View Single Post
Old 11-11-2018, 05:39 AM   #1
Human being with feelings
sai'ke's Avatar
Join Date: Aug 2009
Location: Germoney
Posts: 333
Default Filther (JSFX) - Waveshaper / analog filter emu / dynamics processing combo


I have made a thing.

Filther - A dynamic waveshaping/analog filter emulation/AM/FM modulation thingamabob
Filther is a waveshaper/filter/dynamics processing combo. It's mostly meant for bassy synth work (good for making them growl/scream), but should work fine on most other sounds as well. I've had some fun with it on drums, guitars and pads as well.

It is entirely free, but comes with no warranty whatsoever. You can also nab parts of the source, but I would appreciate a shoutout if you do.

The best way to install Filther and be kept up to date with updates is to add the following repository to your Reapack:
You can find more information on how to do this here:
You can find some more information on Filther and the repository here:
Alternatively, there is an attachment on this post, which I will update every now and then.

- Two filter modules, which can be automated by either dynamics or LFO.
- 64 filters to choose from and counting (Clean linear SVF filters, non-linear filters, analog models (my favs are the MS-20, diode ladder and wasp-like thing), FM modulation filters, AM modulation filters, distortion filters, PWM filters, wah pedals. From clean to quirky to very dirty and mean).
- Both FIR and IIR upsampling/downsampling (to prevent aliasing when distorting). Go easy on it, most of the time you don't need upward of x2 and it's only burning CPU. FIR filtering does less damage to transients than IIR, but is more costly.
- Four waveshaping algorithms (tanh, fast tanh, spline and sine). The spline can be dragged via fully automate-able nodes.
- Sample accurate cutoff and resonance interpolation.
- Optional inertia which can be used when live tweaking to reduce zipper effects.
- A dynamics section that responds dynamically to the RMS of the input signal via either an thresholding/attack/decay mechanism or direct functional relation which can be used to automate the filter cutoff, resonance and the waveshaper. Alternatively, MIDI notes or a side-chain can be used to trigger filter dynamics.
- An LFO section.
- Stereo widening filter modes.
- An additional overarching feedback path (non-ZDF).
- Flexible routing. Choose between serial and parallel routing with one or two non-linearities in the path. Note that morph allows you to interpolate between filter A and B, while parallel just has each at 50%.

If you want to hear a gritty example of what it can sound like:
All the distortion/filtering on that track was done with this filter (mostly nonlin Kr0g and Rezzy).
The more experimental filters (such as "Experimental" and "Phase Mangler") can be used on pads to make eerie soundscapes:
Spline waveshaper:
FM modes:

Here's a short tutorial on how to use it:
Old tutorial:
(You can also find the spectral analyzer in the repo).

Tips 'n Tricks
- When tweaking, enable Automatic Gain Control to protect your ears from resonance issues. This rescales the volume so that the RMS value post filter is the same as the input level (meaning that you can leave the post fader at 0 dB). You can transfer the estimated gain to the post-gain fader with the outer mouse
- Play with the Pre-Gain / Drive. It can make a huge difference for both the filters and the waveshaper.
- Some filters such as the MS-20 (my fav), Rezzy and CEM/SSM saturate quite nicely when driven. These can be used without wave-shaper to get a cleaner distortion.
- Not all filter/waveshaper combos are unconditionally stable, so that means that some can bite your head of and end in a sad click. Most are though.
- Some originate from music fora (Diode ladder, Karlsen ladder), others I implemented from papers (Expensive Moog, the phasers), others I modeled after circuit boards or diagrams found online (Kr0g, SSM, CEM) and some I circuit bended into existence (Experimental, Rezzy, Phase Mangler).
- The filters, all IIRs are not meant to be clean, many of them saturate in non-linear ways and add a lot of color to your sounds.
- The routing on each filter is different. For some the waveshaper is inside the filter feedback, for others it is a pre- or post processing step. Deciding where to put the waveshaper was done subjectively. If the original had a diode clipper, I usually put it there
- The nonlinear filters are more expensive since they solve a non-linear system of equations at every sample. For all of the nonlinear filters I have also implemented a linearized variant and if you don't use the filter in its saturation range, it is better to use the linear variants for performance reasons.
- ZDF in the filter name stands for Zero Delay Feedback, which means that there is no extra delay present in the feedback loop. These filters tend to respond a little better to sudden changes in cutoff and resonance.
- Spline waveshaping is significantly more expensive than tanh or fast tanh waveshaping. It can also cause instability in some filters where the spline is in the feedback loop. Yet, because a lot of sonic sweetspots exist that make use of this, I have decided to still expose the ability to do this. Tread lightly.
- Have fun with dynamics. Motion makes everything better.
- Feedback can be used to fatten up filters and in some cases regain control of the resonance. If you want some fatness/resonance fighting, keep the delay firmly placed at zero. The feedback delay chain has the exact opposite polarity of the resonance in most chains, so in this mode, it will fight with the resonance to sort of choke in on itself (see diode ladder or ms-20 for this effect). This can make the resonance less ringey, more chunky and a lot more pleasant to listen to. Note that the global feedback is not ZDF. Also note that using feedback, reduces the maximum number of spline nodes by two.
- For phasey effects, use feedback with larger delays. Note however that then you're in the danger zone, because once resonance starts boosting resonance, things get real dicey. I would always recommend playing with this only if you have AGC on.
- Morph mode (under routing) allows you to interpolate between filter A and B. Note however, that morph mode eats one node of the spline.
- Toggle the shortcut list with F1.

The filter should come with presets. If they do not appear, then before synchronizing with ReaPack, delete the previous Filther.ini. Then open Reaper, make sure the Filter presets are gone from the list, then synchronize Filther with ReaPack.

As for all my stuff, the usual caveat applies. Use this entirely at your own risk. I don't take any responsibility for the filter messing up a project, and I hope this is useful to some of you.

Call for presets
If you make anything cool with it, please let me know.
Also, if you happen to hit a sweet spot and want to contribute (a) preset(s) to the bigger preset library that I eventually want to build, please let me know.

Happy filthering
Attached Files
File Type: zip (104.2 KB, 24 views)
[Tunes] | [Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Github|Reapack] | [Filther: Thread|Github|Reapack]

Last edited by sai'ke; 03-10-2019 at 11:54 AM.
sai'ke is online now   Reply With Quote