This one is brief, but Till Kopper has such a great website on the Waldorf M, that I just add some minor bits. In the second half you also find a somewhat experimental hardware modification that compensates level loss on the analogue filter when resonance is dialled in.

Prototype with p2p wiring – early dev stage of qcomp circuit


The Waldorf M is a wavetable plus analogue backend synthesiser, and this is clearly reflected int the circuit board layout. There’s a Cirrus Logic CS42888 for converting the digital oscillator outputs to the analogue filter and VCAs, and four DAC8586 eight-channel DACs for controlling sound parameters (filter cutoff, filter Q, and VCA L/R).

shoddy pic, sorry

Of course, the VCF-VCA interests me most as its here where a lot of the sound character happens. Apparently, Vladimir, the brains behind this machine, had proposed different kinds of VCF-VCA backends at a prototype stage, and eventually Walldorf opted for the SSI 2144 ladder filter, a remake of the SMM2044 as used in the PPG Wave 2.3, amongst other synths. For VCAs, SSI2164 are used (one for left and one for right, so you get panning for individual voices).

The SSI2164 makes a good clean VCA (I like them in my Prophet 5 Rev4 module too), and is used here in a linearised fashion (see Mick Irvin’s ideas described in detail by Phil Gallo). 

Yet while the SSI2144 is a quite popular a filter, I personally would have preferred a 2140 or at least an option for level loss compensation, so that all sonic beef is retained when resonance goes up. There are well documented ways to achieve the latter (see SSI datasheet, but also Sequential‘s Rev4), but Waldorf went nope (for reasons of space). First I assumed that this could even be delivered by a firmware update, yet someone with all the inside knowledge soon got in touch and explained to me how this would create unwanted artefacts in the sound. So…


A couple of different sounds with QCOMP in place:

Impatient and curious (or crazy), I wanted to see what’s what here in terms of passband level loss compensation. The SSI datasheet describes an elegant (actually two) method for an output compensation scheme. By increasing resonance you increase the filter output level. Curious how an input compensation scheme would work, i.e. increasing resonance also increases filter input level, I somehow ended up with a quick and dirty trick used in old Wah-Wah pedals and the Roland TR909. At first I though this would result in nonsense but was then surprised how well this works here…

What happens: you use a NPN transistor across the resistor attenuating the incoming audio to the filter. The control voltage for opening this transistor is the same that controls the resonance level circuit inside the SSI2144. The effect, then, is that overall resistance/attenuation into the filter is decreased when resonance is increased.

WORDS OF CAUTION: transistors do not really work in a linear fashion and that a sweeter way of doing this would be to use OTA cells, but as stated, oddly, this minimum setup here has been working quite well. The DAC outputs are protected and the control voltage at the q-vca resistor of the 2144 ranges between zero and some +2volts, so no excess/overshoot is to be expected. Note that collector and emitter in the additional NPN transistor are connected in opposite fashion, as this stabilises the circuit (see also comment #1 here). This kind of trick is used in quiet a couple of old circuits, and to be honest, Waldorf’s bare minimum approach kinda tickled me to go minimal style in response. (I know I’m not advertising this really well, yet, of course, note that this is some experimental setup and to be done at your own risk.)


The following clips demonstrate before/after QCOMP modification. The basic sound and chord/line is always the same.

Clip one is just a single note with square wave on one oscillator. The note is held and then resonance puled up and down again. The second pass shows QCOMP.

In the second clip I repeat a three note chord w the same basic sound. Between chords I pull up resonance by a value of 10 (in the end I jump from 110 to 128, *YOLO!*). Then I start again at zero with a second pass that does the same thing, except with QCOMP engaged.

This this clip again does three note chord with resonance being pulled up by a value of 10 – this time, however, you hear before and after side by side, i.e. unmodded and modded audio alternates so that first chord is unmodded, second modded, third unmodded etc.

Visualised this looks like this in terms of levels. Notes marked azure are with QCOMP (and notes marked black are without QCOMP. (Lesser QCOMP value was used here than in the recorded clips above, so the initial level drop on azure notes is less pronounced in the final version). 

Right, that much so far. NB this modification is for private use (and experimental in nature – I hope SSI don’t scold me for this!). In creative commons lingo: the above QCOMP modification is published as CC-BY-SA-NC (maffez, 9 October 2023).