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: !

10 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!

Because my initial hand drawn schematic may be a bit sketchy to some, I decided to draw a nicer version. Comparing this to the Bissell design you can see here that only one full wave rectifier is used followed by 3 peak detectors. In the previous text I mentioned a potentiometer to choose the clock speed for the sampling circuit, additionally in my build I used a switch and 2 capacitors to be able to use between fast and slow smooting of the envelope.

Note V+ is 12V and V- is -12V.

4 Likes

Sweet! I’ve been looking for an envelope follower. Will you be developing it into a pcb?

Cheers,

2 Likes

Well I already made 2 on vero board (combining opamps into 3 TL074s and 1 TL072 (for the 2 gates) and using one 40106 for 2 clock sources, so optimizing the ICs as much as possible), so at the moment I do not need any more …

But if I decide otherwise, I’ll let you know.

3 Likes

While pondering over @TimMJN 's request I thought, 'Why not, but then why not try to make a version that is usable for Eurorack and for Kosmo?!". So Tim and I had a little private conversation and decided to go about as follows: I will design a PCB that contains all signal processing electronics and I will design a second PCB that will be suitable to carry all controls for a eurorack format frontpanel while TimMJN will design a KOSMO sized PCB that will carry all controls for a KOSMO setup. Thus we have 1 signal processing PCB and 2 alternative PCBs for the controls. For people who find our rationale nothing more than double Dutch (Pun intended? You betcha!), here are some pictures of the euro rack side of the project.

This is the eurorack PCB based version of Envelope-O-Matic I finished today:

It consists of 2 boards:

A PCB carrying the controls:

and one carrying the signal processing bits:

So I gave @TimMJN the specs of the signal processing board, which summ up to being able to connect to 2 pin headers on the backside of the signal processing pcb:

Tomorrow I will send a signal processing PCB to Tim, so he can work on the KOSMO version of the control board.

To be continued …

7 Likes

I noticed a typo in the schematic published earlier.

R27 should be 1k Ohm in stead of 100k Ohm.
And again V+ is +12V and V- is -12V.

1 Like

The catch to doing this sort of thing is that 1/4" jacks cannot be mounted on the same PCB as the pots. In fact if you were designing solely for Kosmo you might put the jacks on the rear board. But for Euro+Kosmo you’d have to do something like put the jacks on a separate jacks board that connects via headers/sockets to the front board that connects via headers/sockets to the main back board, somewhat convoluted. Or add a 90° pin socket to the bottom edge of the back board which the jacks board would plug into. Either way the back board would have to be short enough top to bottom to allow clearance for the jacks. Or skip the board mounting for the jacks and wire them to the back board.

1 Like

This, of course, we thought about. There aren’t too many jacks on the module, so they’ll be wired to the board.

2 Likes

And here’s the same pcb piggybacked on a kosmo adaptation… gerbers will be up soon.

4 Likes

All designs are on github now. If you want to build Envelope-O-Matic for eurorack, you will find all schematics and PCB-designs you need here: Bissel-Bouten-Envelope-O-Matic. If you want to build a KOSMO version, then only grab the ciruit board gerber from there and the kosmo adaptation PCB from @TimMJN 's Bissell-Bouten-Envelope-o-Matic-Kosmo repository.

Oh, and do let @TimMJN and me know how you fare.

5 Likes