SynthMaker Circuits Manual Open SynthMaker (opens in a new tab)
Chapter 7 · Voltage control

How a low-pass gate works: a light-dependent resistor

A low-pass gate is a filter and a VCA in one: an LED lights a light-dependent resistor in an RC low-pass. As the cell goes dark, its resistance climbs from 100 Ω to megohms in about 100 ms, so the cutoff falls and the note fades together.

LowPassGate · the parts list
circuit LowPassGate  setting input: 0.7 V, from 0.07 V to 7 V  setting drive: 0.2 V, from 0.2 V to 10 V  setting dim: 1k, from 330 to 10k  setting cap: 10n, from 100p to 100n  V1 cv gnd drive  Rl cv an dim  O1 an gnd in out slow  C1 out gnd cap  R2 out gnd 100kend
Scope · out

Press Play to see the wave after the circuit, at out.

A short riff through the circuit, round and round. Turn the knobs while it plays. Open in SynthMaker ↗ (opens in a new tab)

What you're hearing

A light-dependent resistor follows its light. An optocoupler is an LED and a light-dependent resistor, a cadmium sulphide cell, sealed together in the dark. The more current through the LED, the lower the cell's resistance: about 10 kΩ at 10 µA, 1 kΩ at 0.1 mA, 135 Ω at 1 mA and 25 Ω at 20 mA. In dim light, resistance times current is roughly 0.1 V. In the dark, it climbs into the tens of megohms. The two sides share no wire: only light joins them.

It lights quickly and lets go slowly. The slow cell lights in about 2 ms, the fast one in under a millisecond. Switched off after a bright 16 mA, the slow cell takes 80 ms to reach 100 kΩ, the fast one 5 ms. Once the light is gone, the slow cell's resistance grows ten times every 23 ms: 1 kΩ, 10 kΩ, 100 kΩ, 1 MΩ, one after another.

Each note only flashes the LED. An envelope turns the supply V1 up when a note starts and lets it fall over 150 ms. Through Rl, 1 kΩ, the LED gets about 4 mA at its brightest, a few milliseconds in. But a red LED passes little current below about 1.4 V, so it's lit for only about 12 ms. The cell bottoms out near 100 Ω, under 10 ms into the note. Everything after that is the cell's own fade, not the envelope.

The cell is the R of an RC low-pass. It runs from the input to the output, and C1, 10 nF, sits from the output to ground. A resistor and a capacitor make a low-pass filter with its cutoff at f = 1/(2πRC). Here R is the cell in parallel with R2, 100 kΩ. At about 80 ms the cell reaches 100 kΩ, so R is 50 kΩ and f = 1/(2π × 50 kΩ × 10 nF) ≈ 320 Hz. The cell reaches 1 MΩ at about 100 ms, so the cutoff falls from about 10 kHz to about 200 Hz between 40 and 100 ms, and the level then falls about 15 dB every 20 ms.

R2 makes it a VCA too. The cell and R2 are also a voltage divider: the level is R2 / (cell + R2). While the cell is small against 100 kΩ, almost everything gets through. When it passes 100 kΩ, at about 80 ms, half does. So the tone darkens first: by then the cutoff is down to a few hundred hertz while the level has lost only 6 dB. Then the note dies. On a low note, the high harmonics are already far quieter than the fundamental as the level starts to fall. That's the plucked, woody decay of west-coast synthesis, much as a struck drum or a plucked string loses its high partials first.

A falling low-pass is already most of a gate. Take R2 out, and the cutoff keeps falling, to about 20 Hz by 100 ms. Once it's under the note, it cuts the note itself, so the note still fades, only about 10 ms later. R2 makes the end earlier and firmer. The other way round, "100 pF: only the level falls" keeps the cutoff above 15.9 kHz throughout, so the note fades with all its brightness, as through a plain VCA.

The slow cell's lag is the sound. "Fast cell: a click" uses the same envelope and the same LED. The fast cell follows the LED as it dims: it goes from 1 kΩ to 1 MΩ in under 10 ms, so each note is a tick, about 40 dB down within 40 ms. The slow cell's note takes about 130 ms to fade as far, and that lag is the pluck. "47 nF: darker" moves every cutoff down 4.7 times, so the darkening starts sooner and goes lower.

What the model covers, and what it leaves out. SynthMaker's cell is fitted to a published optocoupler's data sheet: its resistance against LED current and its release, with the two speeds the data sheets disagree on. Between notes the cell rests in the tens of megohms, so what leaks through is about 50 dB down. It also has the cell's memory: over a riff, that resting resistance falls by about half, so notes leak a little more as it fills. Its attack is faster than real cells', so a real one softens the start of each note more. Temperature isn't modelled, though a real cell's resistance moves 0.7% a degree. Real low-pass gates often add a buffer and more capacitors around the cell, but the idea is this RC.

Try this

  • Press "Fast cell: a click", then "Slow cell: a pluck". Same LED, same flash: only the cell differs. Each note is about 40 dB down within 40 ms, against about 130 ms.
  • Press "100 pF: only the level falls", then "Slow cell: a pluck". The first fades bright, like a VCA. The second darkens as it fades: that's the low-pass gate.
  • Turn dim from 1k up to 10k. The LED gets a tenth of the current and the plucks get shorter: the cell reaches 100 kΩ at about 60 ms instead of about 80. Turn it down to 330 Ω, three times the current, and they grow by only about 5 ms.
  • Turn cap from 10n to 100n. Every cutoff falls ten times, and the pluck turns dull and short.
  • Open it in SynthMaker to change the parts. Put a # in front of R2 for a filter alone: almost the same pluck.

The parts list

LowPassGate · the parts list
circuit LowPassGate  setting input: 0.7 V, from 0.07 V to 7 V  setting drive: 0.2 V, from 0.2 V to 10 V  setting dim: 1k, from 330 to 10k  setting cap: 10n, from 100p to 100n  V1 cv gnd drive  Rl cv an dim  O1 an gnd in out slow  C1 out gnd cap  R2 out gnd 100kend

O1 is the optocoupler: its LED from an to ground, then its light-dependent resistor from in to out, the slow kind. Write fast for the other. In the patch, an Envelope turns drive for every note, up from 0.2 V towards 10 V and back down.

How we checked it

The cell's model follows its data sheet's curve within about 6.5% and its two release times (5 and 80 ms); the filter around it is exact.

Build it step by step

Next and previous

  • Next: How an envelope generator works (planned)

Further reading