Voltage controlling the CGS30/SH-5 bandpass filter

I’ve been having another go at voltage controlling the cutoff of a SH-5/CGS30 bandpass filter. This is my previous attempt, based on attenuating and offsetting the input control voltage to a reasonable range for the LED to light over:

This time I started out with a pair of 2SK30A-GR FETs, but the swept range was small and the sound became oddly distorted as the cutoff was pushed lower.

I gave up and went back to the homemade vactrol, this time with a diffused red LED. I rebuilt the circuit to offset and attenuate the CV signal, again based on Ken Stone’s joystick controller. I’ve managed to get a reasonable sort of range with this set-up, although the resistance range could be wider, and the response wasn’t particularly linear.

I was doing some testing, and just wanted to check the response against a known quantity. Here’s the Doepfer A-120 LPF fixed to self-oscillate at full resonance swept with the triangle from my MFB Dual LFO, peak frequencies graphed log-wise in Sonic Visualiser.

A-120 filter swept with MFB LFO tri wave

Which doesn’t quite look right, all wobbly when it should be a triangle with straight edges. Suspecting the filter, I connected the MFB LFO to one of my oscillators and got a similar result.

Trying a different modulation source, here’s the A-120 swept with the LFO in my MS20:

A-120 filter swept with the MS20 LFO

Which looks much better, proving that this particular MFB LFO is even wonkier than my teeth. The triangle is leaning slightly forwards, presumably because the MS20’s LFO shape control wasn’t quite centred.

Going back to the CGS30 bandpass, because it won’t self-oscillate here it is being fed with a one note looped pattern, set to high resonance and with the filter frequency swept with the MS20 LFO.

CGS30 DIY BPF swept with MS20 LFO - log display

The stepping is presumably the filter picking out the harmonics in the square wave.

Flipping from a log display to a linear display, we get…

CGS30 BPF swept with MS20 LFO - lin display

Which is pretty close to the MS20 LFO waveform. Maybe an anti-log LED driver might fix this.

Masatoshi Katsube has been here before. From his linear LED brightness driver circuit, I got this:

anti-log LED driver circuit

Imagine a couple of LDRs pressed up against the red LED in the right hand corner, with the wires of the two LDRs going to the places where the dual pot would be on the CGS30 circuit diagram.

I’m running off 14v because I’m running this circuit from the same PSU as the recreated System 100 innards on my desk. The 500K pot is for setting the offset of the input control voltage above 0V, which would be replaced by a fixed resistor in the final thing. Also the MS20 LFO is +/-2.5v, when modular LFOs tend to be +/-5v, so the voltage divider at the front of the positive op-amp input might need to change.

Inbetween the last measurements and the next time, the LFO shape got skewed even further, so I re-adjusted it to be as centred as I could. So we know where we are, here’s the DIY BPF swept by the MS20 LFO from the original circuit again:

CGS30 BPF swept by MS20 LFO (set to a centred triangle) - log display

And here’s the BPF driven from Masatoshi Katsube’s antilog circuit:

CGS30 BPF swept by MS20 LFO driven by antilog LED driver (triangle centred) - log display

…which is pretty good. It starts to flatten out a little bit as the frequency reaches the top of its range at about 4.2KHz, but it’s not bad. The lowest it gets is about 90hz, but it should get better when the LED and LDRs are encased in some kind of black hole. This is what it sounds like with the resonance cranked up.

I wanted to see how the frequency range compared to the original SH-5, so I recorded sweeping the filter over noise by wobbly hand.

Sweeping the SH-5 BPF by hand

The SH-5 gets down to about 60hz and just over 10KHz at the top, so we’re not quite able to control over the full range with this set up. I’m using 5539 LDRs which are specified as having a resistance of 30K – 90K at 10 Lux, it might be better with 5537s which have a resistance of 16K – 50K at the same light level.

Some further fiddling is needed but this seems like a viable method for voltage controlling the SH-5 bandpass.

No Comments

Controlling the frequency on a CGS30 bandpass filter with a homemade vactrol


I’ve built five of my stripboarded CGS30 bandpass filters for a filter bank I’m planning. They all sound the same, or at least very similar, which isn’t much of a surprise. In my previous post I was wondered if using a 1458 opamp rather than a TL072 would get me closer to the SH-5 sound, and when I experimented I found that it made… no difference. Bah. Maybe a 15v supply will get me closer.

There’s no CV input as designed on the original SH-5 bandpass filter or Ken Stone’s version, so I’m been testing out using a vactrol (or rather a homemade LDR/LED combination) to convert the voltage from a triangle wave from an MFB Dual LFO into a resistance. I’m using a superbright green LED in front of a pair of 5539 light dependent resistors, which are just strapped across both of the pins on the frequency dual pot. Here it is in the open air – when it’s done it’ll best be put in a dark container.


The output from the LFO is +/-5v, which is a problem because the LED won’t register anything below 0v, so we need to offset the LFO waveshape above 0v, which I’m doing using a breadboarded version of Ken Stone’s joystick controller.

So here’s an underwhelming demo of a sequence from my ridiculous, still unfinished (and now out of tune) Arduino sequencer, running two bandpass filters in parallel; one is static and the other is CV controlled – as the LED glows brighter the filter frequency goes up.

I’ve noticed (as other posters on electro-music and muff’s have found) that the response of the LED is non-linear – it gets up to a level of brightness quite quickly, and from then gets slowly more and more intense, which essentially means that the filter frequency suddenly jumps up from a low point and then slowly gets higher and higher. I’ve found that heavily offsetting and attenuating the voltage from the LFO has helped in trying to find the best part of the LED response curve, but it’s still not the best. It might be that a superbright green LED isn’t the best type to use. I chose green LEDS because the 5539 LDRs I’m using are most sensitive in that area of the spectrum.

Even though it hasn’t quite worked out as well as I’d hoped, I still think it’s worth adding CV inputs to the bandpass filter, some experimentation might improve it further.

No Comments