Filter Ideas

I’ve come across a couple of filter schematics that might be interesting to use with the DIY filter Board.

http://www.groenewoudnet.nl/?page_id=15

This page has the MS20 and the Hilltree filter. The second is a pretty basic filter.

http://ericarcher.net/devices/diy-lpf/

This just got posted be Eric Archer (Andromeda Space Rockers). Nice sounding Low Pass Filter.

I decided to spend some time improving the SMR4 filter and I quickly tested in LTSpice two variants of the circuit, one running from a single +5V rail, the other one from a stable +9V rail (in addition to the +5V regulated digital rail).

The +5V version needed single supply rail to rail op-amps (I used TLV2474s) otherwise there was very little head-room since the TL074s clip at 1.5V of their supplies. Simpler supply but limited choice of op-amps -> not good.

The +9V version ran fine but there was little improvement in cost and board space - the LT1054 disappeared, but the CV scaling circuit was a bit more complicated, and it made it a bit more complicated to run the circuit form a 9V battery : when using a cheap DC supply, the input has to go through a 7809 ; when using a battery, the input has to bypass the 7809 (but there would be differences in cutoff if the battery voltage dropped!)

In the end, the charge pump converter solution isn’t that bad - there’s little head-scratching when designing circuits, and it works from both a 9V battery and cheap DC supplies, without having to switch anything…

Will it be possible to see this “synth engine” inside a Mutable Instruments machine some day?

Sound examples: http://www.joergschaaf.de/Karplus_Strong2.mp3
(Radikal Technologies ACCELERATOR)

I tried it some time ago in august 2009 and it was too slow CPU-wise (it ran fine at 16kHz, not at 32 kHz). But I can give it a try for the next firmware revision, maybe it’ll be easier to do with the tricks I’ve learned in those years…

I actually tried to do a Karplus-Strong Oscillator model. One problem I had is the buffer, as it’s supposed to keep a full cycle of the waveform in-memory, and the length of the buffer varies with the oscillator’s pitch. I’m not sure there’s enough memory left to do this without abusing one of the wavetables.

Then, I started looking into building an ARP 4072 integrator cascade filter instead :smiley:

@perplx: you probably have enough RAM if you overwrite the user wavetable.

@pichenettes: yes, though there was something else: the oscillator, as far as I can tell, does not know when a note is triggered. That makes it difficult to switch from the initial noise-excitation phase to the damping phase. The sub-oscillator has this parameter, but then it would be difficult to reuse the wavetable code in this context - plus, I don’t think the sub-oscillator is supposed to be such a drain on the CPU :slight_smile:

I thought about using an envelope to pass this information through the oscillator’s parameter, but that would be pretty limiting. Any solution I thought of involved severely butchering all the code everywhere, which would make it difficult to share.