Envelope-O-Matic v0.2 aka Follow-O-Matic

Sculpt-O-Sound presents: Envelope-O-Matic v0.2 aka Follow-O-Matic

Summary / TL;DR

Envelope-O-Matic is a dual envelope follower. It is my take on a designed published by Harry Bissel on Muffwiggler (Harry Bissell's Fast Response Low Ripple Envelope Follower - MUFF WIGGLER). When fed with an input signal it outputs a signal which closely follows the contours of the input signal’s amplitude. Its workings are based on rectifying the input signal, detection of its peak values which are captured by a sample and hold mechanisme and finally some smoothing to gradually change the output signal over time.

I simplified the design quite a bit without compromising the original idea. I added controls to change the S&H frequency and smoothing. Furthermore I added a gate circuit i.e. a comparator linked to the output signal which generates gate signals depending on a variable threshold.

To add some bling to the circuit in stead of diodes in the full rectifier I used some LEDs which are visible from the front panel. The gate open/close is also signaled by an LED.

Since you can not stand on one envelope follower alone I built 2 in one module sharing opamps and the clock circuitry between them.

Bissel’s Schematic

The original design posted is this one:


What can be seen in the original schematic, is that the 3 peak detectors each use an opamp as a rectifier and another as a sample and hold buffer. All 3 rectifiers do the same thing on the same signal. So the schematic can be simplified by having only one opamp work as a rectifier. The buffering op-amps buffer different signals, so they should remain.

Bissel-Bouten schematic

My take on the schematic looks like this:

The input signal is sent through a full wave rectifier and then distributed to 3 peak detectors. Each peak detector will send a current in a small capacitor as long as the capacitor has a lower voltage than the cathode of the rectifier. If the input voltage drops after a while, the capacitor will keep its voltage and thus holds a copy of the latest signal peak. All 3 peak detectors do this and all of them send their output through a diode to the final stage which also is a peak detector. This one holds the highest peak value of all 3 initial peak detectors in a capacitor and sends this as the output signal to the output jack. But wait, all primary peak detectors get the same signal so they will all carry the same output voltage ?! No, this is where the clock logic and the reset transistors come into play. The transistors sequentially get a short pulse from the 4017 and thus empty their respective S&H capacitor allowing the corresponding peak detector to find a new peak while the others are still at their old values.
While writing this I get the feeling that 2 peak detectors should be enough, so that the circuit could be simplified even more without changing its working. Leaving out the 3rd peak detector and changing the counter I leave up to you to try (in that case you need to reset the timer by connecting pin 2 instead of pin 4 to pin 15).

The 40106 serves as a clock source. I added a potmeter to make it variable.

The 4017 creates a sequence of 3 pulses, one for each peak detector.

The small capacitor renders this into a transient that will close the transistor for a short while.

The transistor will then empty the capacitor so that it is ready for a new peak voltage. This picture shows the voltage on one of the capacitors and the resulting signal of all 3 combined.

The smoothing capacitor of the final peak detector and the clock rate determine how closely the envelope of the input signal is followed.

Some examples:

Fast clock and minimal smoothing:

Fast clock and maximum smoothing:

Whether this difference is audible depends on what you use the envelope for.

What makes this envelope follower different from RC based designs, is that the sampling principle makes it possible to closely follow the envelope of the input signal even if the input signal’s amplitude changes rapidly. RC-based followers may ‘miss’ changes because of the response time set by fixed R and C values. I added the possibility to vary the clock speed to be able to experiment with the clock time. Changing it and the smoothing capacitor leads to audible differences when used to e.g. control a VCA. Time will tell whether adding this was worth my while.

Extra extra, read all about it

A gate circuit was suggested as a nice extra, so I added one opamp as a comparator and used one of the remaining gates of the 40106 to light a led. The comparator is fed the output signal of the envelope follower and the potentiometer will allow you to choose at which level Vgate will switch from low to high.


The yellow signal shows the gate signal at a chosen threshold of the blue envelope.

Controls

I added a potentiometer to the schematic to be able to control the clock rate and 2nd capacitor with a switch to be able to select a short or long smoothing time.

Although an envelope follower is likely to be used with relatively high amplitude signals I used Schottky diodes in the rectifiers and peak detectors to keep the loss of amplitude small.

Build

I built the circuit using 2 pieces of vero board. One carries the clock circuitry and the other the rectifier, peak detectors and summing circuits. To hold the 2 board together I tried something new. By using a hinge I connected them to one another and could easily access the circuits for debugging and maintenance. Here is a picture of the hinge:

and here is a picture of the assembled hinge and boards:

You need 7 opamps to build one circuit so I decided to build 2 using 3 TL074s and one TL072 (14 opamps) giving each of them their own clock source and using one 40106 for the counters and gate circuits.

Sound examples

Have a look at this video:

In it a VCA is controlled by the envelope of a drum loop. The input signal of the VCA is a synth pad sound with some modulation in it. The amplitude change / overall rhythm of the envelope opens or closes the VCA proportionally and makes the synth pad’s amplitude adopt that pattern (amplitude modulation). Of course envelope followers can be used for other things.

Finally

I may make changes to my build and will then publish alterations to the
schematic (if necessary) in this thread at a later time.
So I suggest you read the rest of this thread as well, ha ha, or at least my posts :wink: !

8 Likes

G’day @Jos - I saw this and thought it may be of interest to you:

Maybe with the Daisy Seed you could do something like you did with your vocoder.

Cheers

Thx for the reference!

In the software version of the vocoder I compute the envelopes of each band using the square of the band’s signal (i.e. simplified rectification) and a simple smoothing filter with attack and decay time depending on the band’s center frequency. My first impression of the Hilbert transform ( I only took a quick glance at the paper ), is that it requires quite a few more multiplications, additions and shift operations than my present approach needs. And remember that for the vocoder I have to do this for each band individually, so multiply those by 31, so … I get the impression the computational cost would rise quite a bit. But it’s nice to know that there are other approaches to finding an envelope.

I’ll read the paper in the next few days. Thx again!