Stuck with a SynthEdit project?

Category: Filters

SINC (IIR) Filters

Windowed-sinc filters are used to separate one band of frequencies from another. They are very stable, produce few surprises, and can be pushed to incredible performance levels.
These exceptional frequency cutoff characteristics are obtained at the expense of poor performance in: a) the time domain (meaning they will always introduce latency), b) excessive ripple and c) overshoot in the step response.
In the image below you can see how the signal pulse (Oscillator 280Hz) is delayed as the number of “Taps” at a filter frequency of 5 kHz increases, and the amount of “ringing” or ripple on the pulse waveform also increases.

Increasing TAPs increases the latency:

TAPs and latency.

The SINC Lowpass filter is a linear-phase FIR Filter. The number of “taps” specifies the number of coefficients, more TAPs means increased filter cut-off steepness as seen below however, increasing the number of TAPs introduces more latency. In SynthEdit however there is latency compensation. The module is watching for any change to the default value of the ‘Taps’ pin. The module then uses this value to calculate how much latency compensation it requires and passes that value to the host via the ‘SetLatency’ method. Latency is measured in sample frames.
The module reports this latency to SynthEdit to enable PDC (Plugin Delay Compensation). PDC hides the effect of latency through the clever use of delay lines. You can literally think of all FIR/SINC filters as a multitap delay with no feedback, all the taps are spaced 1 sample apart, then gain is applied per tap and then all taps are added together. So for a 171 tap delay, you have 170 delays, 171 gains (like level adjust modules) and 170 adds. It’s already well optimised with SSE2, as it’s doing 4 calculations at a time.

Resonance/Q/Feedback.

SINC filters do not include a feedback path, so have no feedback, resonance, or “Q” control plug. The are intended to be used as a filter with a very steep low/high pass cutoff characteristic, rather than for colouration of sound.

Increasing the number of TAPs and the effect on frequency roll-off.

Note about 0 Hz filter cut-off:

Although this filter will allow you to set a cut-off frequency of 0 Hz, you cannot use a filter frequency of 0Hz, this is is an ‘illegal‘ value. You will get quite loud clicks and pops, along with “glitching”.
Most SynthEdit filters are “clipped” internally so that end-users don’t input wrong values (this comes at a slight CPU cost of course), usually limited to just above 0Hz and just below the Nyquist frequency.
Why 0Hz is illegal is easiest to explain with a simple 6dB/Octave lowpass. If we set the lowpass to 100Hz, then 200Hz (2nd octave) will be filtered by -6dB, 300Hz (3rd Octave) by -12dB, 400Hz(4th Octave) by -18dB and so on, hence the “6dB/Octave” name. Now try and do the same thing with 0Hz….what is an octave above 0? 0 multiplied by 0 is still 0. It’s the same as dividing by zero.
To prevent loud pops, clicks and glitching you must limit the lowest cut-off frequency to 14 Hz.
Just be sure to limit your patch memory values to prevent illegal values.
Other than this the SINC filters are suitable for fast modulation of the cut-off frequency. Note that there is no resonance/feedback on these filters.

Changing TAP value.

One point to note with SINC filters is that when you change the TAP value the audio engine has to reset for the recalculation process.

TAP Value and filter cut-off slope.

Although we can vary the cutoff slope on SINC filters by altering the TAP number, this bears no relation to the more familiar dB/Octave slope, so unfortunately you cannot say that a certain TAP number is equivalent to a particular dB/Octave cutoff slope. This is due to the DSP structure, and the way these filters work, they are a using a different method of filtering which bears little or no mathematical resemblance to the more traditional analogue filter emulations.

Some other Useful filters in the TD range of Modules.

Important Note: None of these filters are intended to have their frequency cutoff modulated by an envelope or another oscillator/LFO. Rapid frequency changes will introduce audio artefacts, clicks and popping noises. Some of these artefacts may be very loud.

Butterworth filters.

TD_Butterworth_HP
Type: Butterworth high pass filter.
Can be set from 2nd order filtering to 12th order filtering.
There is no internal clipping on the kHz input voltage, and the control voltage only has the 1V/kHz characteristic.

TD_Butterworth_LP
Type: Butterworth low pass filter.
Can be set from 2nd order filtering to 12th order filtering.
There is no internal clipping on the kHz input voltage, and the control voltage only has the 1V/kHz characteristic.

TD_P1Z1
Type: 1 Pole (6dB per octave), 1 Zero Filter.
A specific design of Butterworth filter.
Selectable filter modes: Low Pass, High Pass, Bandpass.

TD_P1Z1_ST
Type:
Stereo version of the 1 Pole (6dB per octave), 1 Zero Filter.
A specific design of Butterworth filter.
Selectable filter modes: Low Pass, High Pass, Bandpass.

State Variable Filters.

TD_SV2
Type: Linear State Variable Filter
Note:- The kHz 0-10 V, and Res -10 – +10V inputs are not internally clipped so external voltage limiting should be applied to prevent illegal values being used.
Filter Modes; Low pass 12dB per octave, High pass 12dB per octave, Bandpass 6dB per octave, Band reject 6dB per octave, Low pass 6dB per octave,
High pass 6 dB per octave, All pass 12dB per octave.

TD_SV2_ST
Type: Stereo Linear State Variable Filter
Note:- The kHz 0-10 V, and Res -10 – +10V inputs are not internally clipped so external voltage limiting should be applied to prevent illegal values being used.
Filter Modes; Low pass 12dB per octave, High pass 12dB per octave, Bandpass 6dB per octave, Band reject 6dB per octave, Low pass 6dB per octave,
High pass 6 dB per octave, All pass 12dB per octave.

State Variable Formant filters.

TD_SVX4
Four zero peak gain state variable bandpass filters internally connected in parallel.
Notes: Primarily designed as a building block for designers to create their own formant filters. Having a quad filter module uses less CPU than individual filters.
Note:- The kHz 0-10 V, and Res -10 – +10V inputs are not internally clipped so external voltage limiting should be applied to prevent illegal values being used.

TD_SVX4_ST
Stereo version. Four zero peak gain state variable bandpass filters internally connected in parallel.
Notes: Primarily designed as a building block for designers to create their own formant filters. Having a quad filter module uses less CPU than individual filters.
Note:- The kHz 0-10 V, and Res -10 – +10V inputs are not internally clipped so external voltage limiting should be applied to prevent illegal values being used.

Audio Crossover Filters.

TD_Xover12
Type: 12dB per octave crossover filter.
Notes: The crossover frequency is not internally limited, so the crossover kHz input voltage should be clipped in case illegal values might occur.
This is module is built out of a standard State Variable filter and is suitable for modulation if need be.

TD_Xover12_ST
Stereo 12dB per octave crossover filter.
Notes: The crossover frequency is not internally limited, so the crossover kHz input voltage should be clipped in case illegal values might occur.
This is module is built out of a standard State Variable filter and is suitable for modulation if need be.

Hilbert 90 degree filter network.

TD_Hilbert_A
Type: Hilbert Filter network, this network creates 90 degrees phase difference between the two outputs.
Notes: This uses an IIR 2 x 8 pole 90 degree phase-difference network. The outputs are approximately 90 degrees apart in phase, which is needed to build frequency shifters. The approximation in phase shift is not a problem for frequency shifting in general because if the input frequency shifts, so does it’s ability to cancel out with the original signal.

TD_Slew2
Control signal “slewer”.
The type of slew can be set to; Constant rate, Constant time.
Notes on Constant Time: It takes the same amount of time to go from 0-1 or 0-10. 1 volt = 1 second. The curve is exponential.
Volts slew time is limited to a maximum of 20 seconds and a minimum of 1 millisecond.
Notes on Constant Rate: It takes less time to go from 0-1 than 0-10, as it moves at the same speed between points. 1volt per 1second. The curve is linear.
Volts slew rate is limited to a maximum of 20,000 volt per second and a minimum of 0.1 volt per second.
Useful for introducing “glide/portamento” effects for control voltages, removing “stepper” effects, and smoothing out the output of sample/hold generators.

TD_PeakHold
Type: Peak Hold Filter
Notes: Generally used as a Peak hold for GUIs, and is not recommended for audio use. (You need to use a DSP-GUI bridge or Patch Mem)

TD_PeakHold
Type: Stereo Peak Hold Filter
Notes: Generally used as a Peak hold for GUIs, and is not recommended for audio use. (You need to use a DSP-GUI bridge or Patch Mem)

The TD range of Synthesizer filters.

These filters are all suitable for use as a Voltage Controlled Filter (VCF) in synthesizers, and as such can have their cutoff and resonance frequencies modulated rapidly.
Notes: It should be taken as read that all these filters have their control voltage internally limited to +10 Volts, and that they operate within the normalizer SynthEdit audio voltage range. Some may have the audio internally clipped so will distort at high input levels.

Ladder Filters.

TD_DiodeLP24_A
Type: 24dB per Octave frequency roll-off diode ladder lowpass filter type A
Notes: A simplified 4 pole diode-ladder lowpass filter with a single symmetrical non-linearity. Partial passband gain-loss compensation. Diode-ladder filters are unbuffered which leads to the cutoff frequency being a product of cutoff amount, input level and resonance.

TD_DiodeLP24_B
Type: 24dB per Octave frequency roll-off diode ladder Lowpass Filter Type B
Notes: A 4 pole diode-ladder lowpass filter, the first pole is an octave higher, with an additional unbuffered high pass filter in the feedback path that partially damps the resonance at low cut-off frequencies.
An extra buffered high pass filter is on the input too. So it is more like a 5 pole + 1 pole filter. The filter cutoff slope is not a constant vs frequency. There are asymmetrical non-linearities, and partial passband gain-loss compensation. Diode-ladder filters are unbuffered which lead to the cutoff frequency being a product of cutoff amount, input level and resonance. Because of the first pole being an octave higher, maximum cutoff is 9.5 Octaves (~9.95kHz) if the sample rate is equal or less than 48kHz, 10.5 octaves (~19.9kHz) otherwise.

TD_DiodeLP24_C (EMS VCS3 Emulation)
Type: 24dB per Octave frequency roll-off diode ladder Lowpass Filter Type C
Notes: A 4 pole diode-ladder lowpass filter inspired by the paper “Efficient polynomial implementation of the EMS VCS3 filter” by Stefano Zambon and Federico Fontana. However it uses ‘Mystan’s Pivot’ method to approximate the non-linearities instead, which in this case are asymmetrical. Full passband gain-loss compensation. Diode-ladder filters are unbuffered which lead to the cutoff frequency being a product of cutoff amount, input level and resonance.

TD_Ladder5out_HP
Type: Linear 4 pole High pass filter with five outputs
Note: This module is useful as the basis for pole-mixing filters.
Note: The filter does not self oscillate.
Traditionally, 4-pole pole-mixing filters only mix the 4 poles.
Two of the poles are inverting – either 1 and 3 or 2 and 4. Some short/set-high/bypass the first pole under some circumstances to get more variations.
With this version, instead of bypassing – all you have to do is move the mixing-coefficients up i.e. hp1 coefficient, hp2 coefficient, hp3 coefficient becomes in-hp4 coefficient, hp1 coefficient, hp2 coefficient.

TD_Ladder5out_LP
Type: Linear 4 pole Lowpass Filter with 5 outputs
Notes: This module is useful as the basis for pole-mixing filters.
Note: The filter does not self oscillate.
Traditionally, 4-pole pole-mixing filters only mix the 4 poles.
Two of the poles are inverting – either 1 and 3 or 2 and 4. Some short/set-high/bypass the first pole under some circumstances to get more variations.
With this version, instead of bypassing – all you have to do is move the mixing-coefficients up i.e. lp1 coefficient, lp2 coefficient, lp3 coefficient becomes in-lp4 coefficient, lp1 coefficient, lp2 coefficient.

TD_LadderHP24_A
Type: 24dB/Octave Transistor-Ladder High pass Filter
Asymmetrical non-linearities. Partial passband gain-loss compensation. Self oscillates.

TD_LadderLP18_A
Type: 18dB per Octave Transistor-Ladder Lowpass Filter
Simplified filter version with a single symmetrical non-linearity. No passband gain-loss compensation. Self oscillates.

TD_LadderLP24_A
Type: 24dB/Octave Transistor-Ladder Lowpass Filter Type A
Simplified version with a single asymmetrical non-linearity. No passband gain-loss compensation (classic behaviour). Self oscillates.

TD_LadderLP24_B
Type: 24dB per Octave Transistor-Ladder Lowpass Filter Type B
Multiple asymmetrical non-linearities. Partial passband gain-loss compensation. Note: The filter does not self-oscillate.

TD_LadderLP24_C
Type: 24dB/Octave Transistor-Ladder Lowpass Filter Type C
This filter has a buffered high pass filter in the feedback path. This prevents self oscillation at very low frequencies and also prevents bass loss at high resonance levels. Asymmetrical non-linearities.

Oberheim X-Pander type filter.

TD_Panda (Inspired by the Oberheim X-Pander filter)
Type: 4pole OTA Inspired Filter
Notes: The filter poles are mixed internally to create 25 different frequency responses. Produces predominantly 3rd harmonic distortion. Self oscillates.
List of Filter frequency responses; LP4, LP3, LP2, LP1, HP4, HP3, HP2, HP1, BP4, BP2, BPS, HP3LP1, HP2LP1, HP1LP3, HP1LP2, HP1BR2, BR2LP2, BR2LP1, BR4, BR2, BRBP2, LP1BR2HP1, LP1PK2, BR2PK2, HPX.

Sallen-Key filters.

TD_SK3P
Type: Buffered 12dB/Octave Lowpass Sallen-Key Filter
Frequency cutoff 12dB per octave slope. The extra pole is in the feedback path and limits resonance at higher frequencies and alters tracking a bit. Self-resonates up to about 3.7kHz. Symmetrical non-linearities.

TD_SK4P
Type: 12dB/Octave Lowpass Sallen-Key Filter
Experimental, has extra poles. Asymmetrical non-linearities.

TD_SK_A
Type:
Multi-Mode Sallen-Key Filter; Low Pass 12dB per Octave, High Pass 6dB per Octave, Band Pass 6dB per Oct.
Buffered. This saves some CPU cycles compared to the Steiner modules. Asymmetrical non-linearity.

Steiner-Parker filters.

TD_Steiner_A
Type: Buffered Steiner-Parker multi-mode filter Type A
A Steiner-Parker filter is simply a multi-input Sallen-Key filter.
Symmetrical non-linearities. Does not self-oscillate. Maximum input is +/- 10 volts. If the sample rate is less than, or equal to 48 kHz, then the maximum cutoff frequency is approximately 14 kHz otherwise it is approximately 19.9kHz.

TD_Steiner_B
Type:
Steiner-Parker Filter Type B
An unbuffered version of a Steiner-Parker filter (the feedback loop is still buffered), which simply is a multi-input Sallen-Key filter.
Asymmetrical non-linearities. Does not self-oscillate. Resonance decreases in higher octaves. Maximum input is +/- 10 volts.
If the the sample rate is less or equal to 48kHz, maximum cutoff frequency is approximately 17.3 kHz otherwise it is approximately 19.9 kHz.

TD_Steiner_C
Type:
Steiner-Parker Filter Type C
A buffered version of a Steiner-Parker filter, which simply is a multi-input Sallen-Key filter. Bright asymmetrical non-linearities. Self-oscillates.
If the sample rate is less or equal to 48kHz, the maximum cutoff frequency is approximately 17.3kHz otherwise it is approximately 19.9kHz.

State-Variable filters.

TD_SV24_A
Type:
Cascaded State Variable Filters Type A; 24dB per Octave Low pass, 24dB per Octave High pass, and 12dB per Octave Band pass.
Induced passband gain-loss to prevent too high levels with high resonance.
This is a non-linear filter but it is not able to self-oscillate.
This module uses less CPU than if two standard SE SV filters were cascaded.

TD_SV24_B
Type:
Cascaded State Variable Filters Type B; 24dB per Octave Low pass, 24dB per Octave High pass, 12dB per Octave Band pass.
Induced passband gain-loss to prevent signal levels becoming too high with high levels of filter resonance.
This is non-linear filter but it is not able to self-oscillate. The resonance level decreases as the filter cutoff frequency increases.
This module uses less CPU than if two standard SE SV filters were cascaded.

TD_SV_C
Type:
State Variable Filter Type C; 12dB per Octave Low pass, 6dB per Octave Band pass.
Experimental State Variable Filter that is modified by adding an extra feedback path around the structure, so it’s not really a true SV filter any more. Resonance decreases at higher frequencies. Asymmetrical non-linearities. Does not self oscillate.

TD_SVmo2
Type: Multiple Output State Variable Filter; 12dB/Octave Low pass, 6dB/Octave Band pass, 12dB/Octave High Pass
The filter outputs can be mixed, combined or otherwise processed to achieve other filter shapes. Non-linear filter.

TD_SVmo2_ST
Type:
Stereo Multiple Output State Variable Filter 12dB/Octave Low pass, 6dB/Octave Band pass, 12dB/Octave High Pass
The filter outputs can be mixed, combined or otherwise processed to achieve other filter shapes. Non-linear filter.

TD_SVxfade
Type: Cross-fading State Variable Filter. Three pre-programmed selectable crossfade sequences.
Select the filter type and cross-fade sequence from;
Low pass /Band Reject /High pass,
Low pass /Peak /High pass,
Low pass /All pass /High pass.
The cross-fade voltage range is from -5 Volts to +5 Volts.

More about SynthEdit filters.

So you decide you want to use a particular type of filter…lets say a State Variable, but it’s not quite right, you need a steeper filter roll off…what to do to fix this? Fortunately you can just add another SV filter in series with the first one, and this turns a 12dB octave low/high pass into a 24dB octave filter and the bandpass/notch into 12dB octave.
So far so good, but there’s one very important thing to watch out for…the resonance settings on the filters. If we have both filters with adjustable resonance then as soon as we start to approach any moderate level of resonance the second filter will be heavily overloaded at some frequencies. To avoid this we can use the structure below, where the resonance of the first filter is fixed at 0.

Cascading filters- keeping resonance under control

Be careful when cascading SV filters.
Cascading too many band-pass or high-pass outputs is not a
good idea. It can cause annoying high-frequency ringing, because state
variable filters boost high frequencies even at low resonance settings.
Another catch with filters cascaded in series is they do introduce phase shift, so beware if you are intending to mix them with the “dry” audio signal, you’ll quite probably get some unwanted peaks and notches occurring due to phase addition and cancellation effects. You can see below that there’s clearly a change in phase between oscillator and the output of the second filter that changes with frequency.

Phase shift effects caused by cascading filters

This is a good way of achieving a stereo effect, especially using two different models of filter, as shown below with a Moog filter for the left hand channel, and the SV filter for the right hand channel. By having two independently controlled filters (albeit with a common Keyboard Tracking CV (KB Track) you can get a really rich stereo effect, (especially when the Pitch is modulated by out of phase LFO’s, but that’s another topic for later)
Note: When constructing a layout like this inside a container (as is good practice) it’s a really good idea to follow these steps:
1) Set the filter Pitch plugs to 0V (they are pre-programmed at 5V)
2) Put both of the Pitch CV’s through their own Level Adj module with the Input 1 plug set to 0 volts (again they are pre-programmed to 5V), and the Input 2 Plug set to 10V.
This prevents our container inheriting any voltages from either the Filters, or the Level Adj and setting them as an unwanted voltage on the KB Track IO Module, leaving you with an odd 5V offset appearing on another module’s control voltage. I spent quite a time at one point tracking down why the controls on one of my synthesizer modules were not behaving as expected-due to this inherited voltage from inside a container!

Parallel filtering

A multi-filter takes things a step further. I won’t show the frequency spectrum for any of the settings because you’ll get a far better idea of the sounds it will produce by building one, hooking up a white noise source and having a listen. What we are doing is taking separate outputs from each part of the filter, then mixing them to achieve a sound we like. Of course if you want to get really complex you could have four individual SV filters with individually controlled frequency and resonance settings… the world’s your oyster (or mollusk of choice)here, feel free to experiment.

Oberheim took the concept of the multi-filter and ran with it.
The Voltage Controlled filter (VCF). The available modes on the filter are:
a) One-, two-, three- and four-pole low pass
b) One-, two and three-pole high pass
c) Two- and four-pole band pass
d) Two-pole notch
e) Three-pole phase shift
f) Two- and three-pole high pass plus one-pole low pass
g) Two-pole notch plus one-pole low pass
h) Three-pole phase shift plus one-pole low pass
The output from this filter could the be mixed and routed in a variety of ways.
TD Panda filter.
The nearest ready made SynthEdit module to this is the TD_Panda filter module
However all the mixing and levels are handled internally so while there’s a huge variety of modes for the filter you’re stuck with the internally set mixing.

Filter mode options for the "Panda" filter


Panda filter connections


Synthedit VA Filters, the geeky bits.

VA is short for Virtual Analogue.
The difference between the VA and non-VA filters is a mixture of maths, physics, electronics and computer science.
As simply explained as possible (by omitting some very technical bits) by taking a Moog filter as an example.

The Analogue filter.
The real Moog low pass VCF is four single lowpass filters in series, with the output fed back to the input to create a resonance. In physical analogue circuits that output to input feedback loop is through copper tracks and wires and therefore happens almost instantly.

In the digital world, it’s not possible do that, if we think about it logically, how can you possible calculate the input and output of a filter at the same time?
You really would need to calculate the input values to be able to begin to calculate the output signal, which really is like the old puzzle:
“What came first? The chicken or the egg?”.
You will be attempting to lift yourself by pulling on your shoelaces.

To overcome this, the standard SE Moog filter will put a 1 sample delay in the feedback path. However that seriously messes with the phase response and therefore it messes with the high frequency response- it is just not at an accurate representation anymore.
This problem also depends on the internal sample-rate, and when the filter modulates very fast, due to the time delays the input and output equations don’t match up in the time frame anymore. This can create anything from instability, to low frequency clicks, and more noise.
Not only this, but if the filter signal also distorts the audio, the distortion would also not be accurate under heavy/fast modulation anymore.

Using Maths to fix it.
The VA filters use maths on the problem to eliminate (as far as possible) that one sample delay that is causing problems.
This why these types of filters are sometimes called “Zero Delay Feedback” or ZDF filters. There is actually is no technically agreed term for these filter designs so they are sometimes called “Virtual Analog” or “Topology Preserving Transform (TPT)”, and maybe other terms as well.
Mathematicians can be really touchy about naming conventions.

Another Advantage.
There is another advantage, by using VA techniques you can mimic the characteristics of an analogue circuit more accurately. This is because you can mimic the topology and layout of the filter, so it will behave in a closer approximation of the analogue filter. Now comes the tricky maths part, and it relates to the distortion of the filter.

A Mathematical note:
There are two types of answers in math; explicit, and implicit.
1) Explicit is what most people think if they think about math like 1 divided by 2 equals 0.5 – that is explicit i.e. we can calculate the exact answer of 0.5,
2) Implicit means we cannot get an exact answer, but we are able to guess with relative certainly, and this guessing is usually iterative i.e. we guess and then use that guess to guess again ad infinitum. With every additional guess the result typically gets more accurate.

Factoring in non-linearity and distortion.
Whether we like it or not there are no perfectly linear, or zero-distortion analogue circuits.
Now, if a VA filter is linear in its response (no distortion modelled) we can get an explicit solution. However once you add distortion, we cannot get an explicit solution, so it becomes implicit and we have to use more math calculations.
There are (sort of) three levels of adding distortion, and because you’re adding more calculations and complexity then CPU usage increases the higher you go in level. A 24dB/Oct filter can have nine separate distortions in it (think of it as 9 wave-shaper modules in a single filter).

Methods:
1) “Distort the states”:- This is a technically explicit method, but with the distortion at the wrong place (compared to the analogue model), but it uses the least CPU while retaining some of the VA benefits.
2) “Fixed step” solution:- This method is implicit, i.e. it always guesses a fixed number of times, the methods typically used are “Mystan’s Pivot“, where the Pivot is a fixed “One Best Guess” method.
Note: Mystan is the DSP filter guru at KVR Audio, he suggested it. Naturally the mathematics people are still debating what the real name for this method should be – after all we know mathematicians are picky about the name used for a process.
Another method would be fixed step solver would be the Runge-Kutta method.
3) Iterative (non-fixed step):- Another implicit method. This one might guess anything from once to an infinite number of times depending on filter settings and audio input. As you would expect, the more guesses made the more CPU is used. For practical purposes, this method will usually guess up to eight or nine times, and it is usually done with the Newton-Raphson method. Yes, by Newton we are referring to Sir Isaac Newton (mathematics is much older, and more advanced than PCs). As a practical example U-he’s Diva synthesizer uses this method of modelling.

(Well I did warn you it was “geeky“)

SynthEdit Filters

First I’ll cover what a filter actually does, and the four modes of filtering: Low Pass, High Pass, Band Pass, and finally Notch filtering. Next will be the common types of VCF found in Synthesizers, such as Moog, Korg et al.
A subtractive synthesizer without a filter is going to be very much lacking in the soundscapes you can generate – it will be like a curry without most of the spices missing. Filters lend sounds their flavour by boosting and cutting the oscillators’ frequencies.

Generally speaking any filter that has a cut-off pitch set by a float plug is not suitable changes in frequency during operation, they tend to respond badly, produce strange noises and crash unpredictably.
Filters which have a dark blue voltage plug for pitch/frequency are safe for faster modulation speeds.

So, let’s first review the different breeds of filter.
In order of appearance: Low Pass, High Pass, Band Pass, and Notch (AKA Band Stop) filter frequency response curves are shown below.:

Characteristics of High, Low, Band-pass and Notch filters.

Most Synthesiser voltage controlled filters have a resonance control. This alters the amount of internal feedback in the filter, which causes a boost to frequencies at the filters cut-off frequency, causing “ringing” and even self oscillation in the filter.

Low pass filter with a low resonance setting:

Low pass filter with low resonance setting

Low pass filter with a high resonance setting:

Low pass filter with high resonance setting

The State Variable Filter (SVF) works in low-pass, high-pass, bandpass, and band-reject (also called notch and band-stop) modes. And all of these modes can operate at the same time, if you wish.
Low-pass and high-pass modes cut-off slopes are 12 dB per octave, and the band-pass modes is 6 dB per octave.
State variable filters are all-pole filters, meaning they boost high frequencies even when the resonance value is low. This affects band-pass and high-pass outputs more than the low-pass output, also mixing these outputs adds a touch more gain.

The next type is the Moog ladder filter, which is a Low Pass filter. This is a digital emulation of Moog’s celebrated four-pole transistor ladder filter, the Moog Filter is a has a 24 dB/octave frequency attenuation slope. Its digital programming also simulates the analogue components’ natural non-linearities. As well as responding differently to different input levels, it also (like the original) self-oscillates when resonance is turned up high. It behaves very differently to an SV filter at high resonance levels.
The Moog Filter features enhanced resonance levels for high frequencies, adding a natural high-end gloss, and moderate resonance levels for lower frequencies.
Note: At extreme resonance settings, unlike the original analogue circuit the saturation in the digital filter may cause high frequency aliasing.

SINC filters are linear phase “Brickwall” filters, Brickwall meaning that unlike normal filters where the frequencies above or below the cut-off frequency are attenuated more the further you pass the cut-off frequency these filters abruptly stop passing audio at the cut-off frequency. Linear phase meaning that across their frequency range there is as little change in phase shift as possible. These filters are an idealised design only possible in the world of DSP programming.
Due to their nature SINC filters do not have a resonance control or any feedback
High Pass SINC filter.

High pass SINC filter

Low Pass SINC filter.

Low pass SINC filter

This is a digital emulation of the OTA Low Pass filter used in the Korg MS20. This filter had a characteristic “screaming” quality when high input levels were combined with high resonance control settings. In the SynthEdit emulation this saturation can be controlled, or turned off altogether.
The effect of the saturator is shown below, as you can see the effect is to reduce slightly the main resonance peak, and introduce some new resonance peaks into the spectrum

For practical design purposes, the Sallen-Key filter is switchable from 12dB/octave lowpass to high-pass to band-pass – a versatile filter. Also, if you push a lot of volume through the Sallen-Key filter it starts to overdrive subtly and then more distinctly, which is another useful sonic option. On the Arturia Brute synths, Arturia arranges the “Steiner-Parker” style (Sallen-Key) and “Moog” style (transistor ladder) filters so they can be used either in series – one operating on the basic oscillator sound after the other – or in parallel, with the outputs from both equally audible. A Master Cut-off knob is also provided to change the basic setting of both simultaneously. Combining the various types of filter in these ways can give you a lot of options in your sonic palette.

TD Modules Sallen Key Filter

Sallen Key filter

TD Modules Steiner-Parker filter
Note that each filter mode has its own input, so you can have each mode set at it’s own level giving you all sorts of possibilities.

A type of voltage controlled filter, originally developed by EMS in order to work around the Moog patent for the VCF.
The diode ladder works on a similar principle to the Moog transistor ladder; the diode, under the influence of an applied control voltage, permits or limits current flow to a filter capacitor, such that as the control voltage is varied, the filter’s cut-off frequency changes. A main difference between the transistor ladder and diode ladder is that in the transistor ladder circuit, each pole of the filter is electrically isolated or “buffered” from the others. In the diode ladder, this is not the case; all the poles interact electrically with each other. This makes the diode ladder much more difficult to analyze mathematically, and its distortion behaviour as resonance is increased is more non-linear and harder to predict. Performers often say that the diode ladder filter has a “dirtier” sound, which is probably the effect of the less predictable distortion behaviour.
Besides the EMS synth models, the diode ladder was used by Roland in many older analogue models of Synthesizer. The famous TB-303 filter is a diode ladder filter.

These are much like their ordinary counterparts in the SynthEdit filter selection, but are closer in sound and behaviour to their original counterpart Analogue filters. There are some comparisons below, see the difference in the frequency roll-off at the top end of the spectrum.
SV Filter:- Top Spectrum is the ordinary SV Filter, the bottom one is the VA SV Filter.
The “Normal” SV filter can start to distort at high resonance levels at the top end of the spectrum, and can start to sound distinctly “crunchy”

Comparison of Standard and VA state variable filters

Comparison between the Standard (Top) Moog Filters, and the VA (bottom)

Comparison of standard and VA Moog filters

After doing some side by side testing (on a personal level) I prefer the sound and behaviour of the VA filters, as it’s closer to how the original analogue filters behaved.
There is more to these filters than just that… if you want to go into the “geeky” stuff… read on, there’s more.

OK, so this sounds like a real contradiction in terms an ALL pass filter? What does it actually do?
An all-pass filter is a signal processing filter that passes all frequencies equally in gain, but changes the phase relationship among various frequencies. Most types of filter reduce the amplitude (i.e. the magnitude) of the signal applied to it for some values of frequency, whereas the all-pass filter allows all frequencies through without changes in level, but changes the phase of the signal dependent on the frequency. A common application in electronic music is in the design of an effects unit known as a “phaser”, where a number of all-pass filters are connected in sequence and the output mixed with the input signal to produce a notch which can be swept back and forth in frequency by modulating frequency of the filter. Read more on All pass filters here

Bi-quad filters are commonly used in digital filter design. Bi-quad is short for
Bi-quadratic, a second order filter comprising two poles and two zeros.
A bi-quad filter’s transfer function is much like a state variable’s. What sets the former apart is that it contains so-called zeros.
They do however eliminate the high-frequency ringing that State Variable filters are so well known for.
A Bi-quad filters high-frequency performance is excellent, highly stable all the way up to Nyquist. Most are faster than state variables, and much faster than Moog filters, however for reasons outlined below they are not really useful as a VCF.
Note: On the downside, a Bi-quad filter’s low frequency performance is not exactly a model of stability. At high resonance levels, low frequencies tend to destabilize with excessive gain. This can boost levels to extremes and cause clipping, especially during fast filter modulations. This makes Bi-quad filters unsuitable for fast modulation rates, as they can quickly become unstable, and prone to crashing or making strange clicking noises.

Butterworth filters are usually operated at fixed frequencies with variable gain levels for such designs as graphic or parametric equalizers, tone controls etc.
Butterworth filters have no resonance control plugs, just peak or cut-off frequency, gain, number of poles, and for bandpass/notch filters an width setting (bandwidth).

These are often Butterworth filters that are used in equalizers or tone controls. The idea of a shelf filter is that it boosts or cuts frequencies above or below a set frequency. High shelf boosts or cuts audio above the set frequency, and Low shelf boosts or cuts audio below the set frequency (see chart below) the idea is just to cut or boost part of the spectrum without introducing any “colouration” of the audio (no resonances etc.) Much like the tone controls on a stereo.

A band shelf filter does much the same thing but will boost or cut a range of frequencies within a set pass-band, so you could set your mid-frequency to 1kHz, set the width of the filter to 400Hz then boost or cut the frequencies within the range of 800Hz to 1200Hz, again with no unwanted resonances or colouration of the audio.