The Korg MS-20 synthesizer had two filters in series, one high-pass and one low-pass. Internally, these filters are nearly identical, differing only in where the signal is fed to the filter. My KS-20 module contains one such filter core (of the later, OTA-based variant), and a front panel knob to smoothly transition between the two modes of the original MS-20 filters. It blends from a two-pole low pass, via a resonant allpass, to a one-pole resonant high-pass. Using two KS-20 modules in series the original MS-20 configuration can be created.
What sets the MS-20 style filter apart from other classic filter designs is a nonlinear resonance path, created by diodes or in this module LEDs. This nonlinearity is needed to avoid clipping when self-oscillating. More interestingly however, the nonlinear resonance makes the sound of the filter strongly depend on the amplitude of the incoming signal. This is where the drive knob comes in, allowing you to drastically change the character of the filter. At low drive settings, the filter is mostly linear and has a clean resonance. When increasing the drive level, the sound starts to "break up", and there is a sweet spot where the incoming sound and the filter resonance are competing with each other. At even higher drive level, the incoming signal starts to take over and pushes the resonance away, even when the resonance is set to self-oscillation.
This module is strongly based on the schematic published by René Schmitz, and all credit should go to him. In particular the choice to replace the string of diodes with an LED in the resonance feedback path was his. I did verify that this makes no notable difference to the sound. My additions were the variable mode control and drive knob.
The KS-20 is an 8hp eurorack module, using only through-hole components and a single PCB. It draws up to 25mA current per rail.
There are two versions of the MS-20 filter. Initially Korg used the Korg35 module, which contains a few transistors cleverly arranged to from the filter core. Later this was replaced with a design based on Operational Transconductance Amplifiers (OTAs), which is what the KS-20 is also using.
There are two nearly identical filter stages, each using a single OTA. The OTA is configured as integrator-with-negative-feedback, which creates the same transfer function as a single RC filter stage, as shown in the following figure.
First, let's consider the case where the signal is applied to LP_IN, and HP_IN is connected directly to GND. The OTA (U1A) creates a variable current, which is proportional to the voltage at LP_IN multiplied with the control current IABC. This OTA current is integrated by C, and the resulting voltage buffered by the opamp. The resistor R1 creates negative feedback, reducing the output current of the OTA as the output voltage approaches the input voltage. If a voltage step would be applied to LP_IN, this creates an exponential curve at OUT, just like it would charging up the capacitor in the equivalent RC circuit on the right. Hence, with HP_IN grounded, the OTA filter section is just like a single-pole RC low pass filter. The difference is, that the effective value of R can be adjusted with the control current IABC, forming the basis for the voltage control of the filter.
Also just like with the equivalent RC circuit, the OTA filter section can be turned into a high-pass filter by exchanging the input and ground terminal. So, connecting the signal to HP_IN and grounding LP_IN creates a high pass section. In fact, the two inputs can be used at the same time. It should be noted that the HP_IN node must be a low impedance point.
The MS-20 filter consists of two of these sections in series as shown below.
In the low-pass filter, HP_IN is once again grounded and there are two low-pass sections in series, forming a two-pole (12dB/oct) low-pass. Resonance is created through positive feedback of the output to the high-pass input of the first section. Hence, in the resonance feedback loop there is a bandpass filter (one high-pass and one low-pass). This configuration avoids the infamous drop in volume associated with the Moog transistor ladder filter, where the resonance feedback loop goes through the full low-pass fitler which creates negative feedback at low frequencies.
For the high-pass version of the MS-20 filter, the LP_IN point is grounded and the signal is fed to HP_IN. Hence, only the second section is used for a single-pole (6dB/oct) high-pass, and the first section is only there for creating resonance.
I offer PCBs and front panels for this module for sale. All documentation required to build this module is available on github.