Triple Slew Limiter

Circuity

Slew limiters are based on one of the simplest circuits around: the passive RC low pass filter. At the most basic level, it consists of just one resistor and one capacitor, and it looks like this:

Without getting into any equations, what this circuit does is take in a signal and smooth out the rough edges. When the input voltage rises quickly, the capacitor begins charging up. While the capacitor is charging, the voltage at the output rises slowly. Once the capacitor is charged, the voltage at the output will match the input (in theory, anyway). When the input voltage falls quickly, the capacitor will discharge, causing the output voltage to slowly drop. The overall result is that this circuit kind of sets a speed limit on how fast a voltage can go up or down.

From this most basic building block, we can make a ton of circuits useful for synths. Low pass filters, envelope generators, LFOs, function generators... Today we're going to keep it simple and just focus on slew limiters.

The first thing we need to do is add a way to adjust the slew time. Slew time is determined by the resistor and capacitor values, so we can just replace the resistor with a potentiometer. Short two of the pot's pins together and we now have a variable resistor. We'll also want to add a little resistance, to prevent shorting between the input and output when the pot is turned fully counterclockwise.

Slew time is determined by multiplying the resistance and capacitance values. Larger values result in longer slew times. I settled on the values above after trying out some common resistor/capacitor values. This gives a maximum slew time of a couple seconds.

The most common use for slew limiters is to add portamento to pitch cv. That means precision is going to be super important. Unfortunately, passive circuits are not very precise. We'll need to add some buffers to make sure that the output voltage matches the input voltage as closely as possible.

Yusynth's slew limiter arranges the buffers in a really clever way that allows users to switch between logarithmic and linear response. He also has a great writeup worth reading. Incorporating the buffers into our design, we get this:

This provides voltage followers both before and after the RC filter to ensure that the output voltage perfectly matches the input. When U1A is set up as a simple buffer, the slew limiter has a logarithmic response curve - this is the same response that the RC filter has without the buffers. By connecting U1B's output all the way back to U1A's inverting input, you instead get a linear response curve.

After messing around with this circuit, I noticed that the two configurations have wildly different slew times. I thought it was broken at first, because there didn't seem to be any slewing in linear mode. It turns out the slewing was too fast to be perceptible. I replaced C1 with a larger capacitor to get longer slew times and linear mode sounded better, but log mode became way too slow. I decided to replace SW1 with a DPDT that would switch between capacitors, so each mode would be in a usable range.

And there we have it! A slew limiter for synthesizers. Super simple and it works perfectly.

But... what if we want one slew time for a rising voltage, and a different slew time for falling voltage? With this schematic, there is just one knob for overall slew time. How hard would it be to add a second knob?

Turns out, not that hard! You just need a couple of diodes.

While the input signal is rising, the input voltage will be higher than the RC output voltage, due to the lag introduced by the slew limiter. In that case, D1 will allow current to flow from U1A's output through RV1 while D2 blocks current from flowing through RV2. When the input voltage is falling, the opposite occurs. So the diodes kind of act like a switch, directing current through the correct pot depending on whether the voltage is rising or falling.

However, there is an issue with this design. Diodes introduce a voltage drop, which means our output will no longer be precise. When the circuit is in linear mode, the diodes are inside the op amp feedback loop, and the op amps can compensate for the voltage drop. But in logarithmic mode, the diodes are outside the feedback loop, so the signal becomes altered by the voltage drop in an unappealing way.

Fortunately, there is an easy fix: replace each diode with a precision rectifier.

A precision rectifier basically responds to voltages just like a diode, but with no voltage drop. Just what we need in this case! Substituting the precision rectifier in for the diodes, we end up with this:

And that's it! A slew limiter with separate rise/fall controls as well as a lin/log switch. If you want to see how to add voltage control, check out Yusynth's schematic linked above. He uses a transistor as a voltage controlled switch to allow current to bypass the potentiometer, greatly reducing the resistance in the RC filter.

Interface

I opted not to add voltage control, since it's a feature I never really use in slew limiters. My goal was to build a module with multiple independent slew limiters in a small footprint. Something slim and simple. Specifically, I wanted three slew limiters in 6hp. My thought was two for v/oct pitch cv, and one for stepped modulation from a Baby 8 sequencer for example, though there are many many more uses.

I couldn't decide if I wanted separate rise/fall controls or not - it would be nice to have the extra control, but doubling the number of pots would mean a bigger panel. So I made a compromise - one slew limiter has rise/fall knobs, and two have just one slew knob each.

After assembling the module, I realized that since each input is buffered, it could also be used as a buffered mult! That would be perfect for pitch cv controlling several oscillators and/or filters.

So I normalled the inputs together. When nothing is patched to In 2, it copies the signal from In 1. Similarly, when In 3 is unpatched it copies the signal from In 2. When a signal is passively copied to two or three inputs, the op amps prevent any drop in voltage.

Previous
Previous

CMOS Clock Dividers