Friday, 22 May 2020

Synthesizer Build part-33: DIGISOUND-80 ENVELOPE GENERATOR with AS3310.

A fantastic ADSR with 3 different types of envelopes and extra outputs including an inverted one.

This Envelope Generator or ADSR is a very luxurious one because it produces three different types of envelopes. The following description is from the original text for this module:
First there's the 'Damped' mode. The object of this mode is to more closely simulate the piano envelope which has a sharp attack, a brief initial decay, a long release and finally a very short release as the damper is applied to the string. So it's an ADRR response and in this mode the end of the gate pulse causes the final short release to occur. In other words releasing the note has the same action as applying the damper on a piano.
In 'Normal' mode the ADSR functions as any ADSR would with the duration of the Sustain period being equal to the duration of gate signal being present and the key being pressed down.
The 'Automatic' mode is particularly beneficial when envelopes are being initiated from non-keyboard sources like an LFO or from a clock signal. A short pulse will now generate a complete ADR envelope and, by adjustment of the time constants, this type of envelope can be made to approximate the ADSR type envelope. Usually these external sources would only generate a limited AD type of envelope.

Further features of this envelope generator are:
- Independent trigger input for re-triggering and generating multiple peak envelopes in the Damped and Auto modes.
- Gate and Trigger pulses within a range of +3V to +15V are acceptable.
- Wide range of time constants. Typically 2 milliseconds to 20 seconds. If longer times are needed you can increase the value of C9.
- 0 to +10V peak attack output
- 0 to 100% Sustain level.
- Low control voltage feedthrough which means low residual voltage when the envelope cycle is completed thus ensuring that the VCA is off.
- Manual gating facility.

Features I added:
- Extra buffered envelope output.
- Extra inverted envelope output (0V to -10V).

Dual 12 Volt operation:
This envelope generator is designed to run on a dual 15V powersupply but I tested it on a dual 12V supply and it works just as well with only a very small loss in envelope voltage. On 12V the envelope is about +9V so no problem running this on +/-12V. One change should be made however; the current limiting resistor R25 should be changed from a 750 Ohm to a 470 Ohm according to the datasheet of the AS3310. However I test ran it on dual 12 Volt without changing the resistor and it worked perfectly fine.

I had build this envelope generator some time ago and I've been using it in my synthesizer for all that time but I didn't write an article about it until now because there was something wrong with it. In the 'Normal' mode, which is the one you'll be using most I think, the Decay was oscillating. It kept on being triggered for as long as a gate signal was present. The only way to stop it was to turn up the Sustain level so it matched the Attack level and then you wouldn't hear the constant up and down oscillation of the volume level.
So I was using this ADSR with Sustain turned up but it annoyed me that is wasn't functioning quite right because this is an awesome ADSR and I wanted to do an article on it. So I asked on the Synth DIY Facebook group what could be causing this. I was told it was due to capacitor C7 and that I should remove it. They were absolutely right. Removing C7 did the trick, at least in the 'Normal' mode but when I switched to 'Damp' or 'Auto' mode the ADSR was hanging. It wouldn't go into the  Release state. So for these two modes capacitor C7 needed to be in place.
By happy coïncidence I had used a vintage double pole 3-way switch to switch between the different modes and I had one pole left unused. So I connected the capacitor to that switch in such a way that it was connected in 'Damped' and 'Auto' mode and disconnected in 'Normal' mode. This worked fantastically and now it behaves just as it should do.
All these changes have been drawn into the layout and into the new schematic that I made.
I used a SPDT toggle switch to go between manual gating and inputting gate signals. This is marked in the schematic as a gate input socket with internal switch, which you can of course also use instead of an external switch.

One little thing you need to be aware of with this ADSR is that I you need to switch to Auto mode whilst holding down a key on the keyboard. If you don't do that, then the ADSR only gets triggered (in Auto mode) if you push the manual trigger button but not by the keyboard. I think that's meant to be though because Auto mode is for external sources so that would make sense. If however you switch to Auto mode whilst holding down a key then it will work with the keyboard. Any key you press after switching it on will keep sounding until you press an other key and it will keep sounding until you switch back to Normal mode. Once you get used to this it's actually not a problem at all. Just something to be aware of.

If you plan on building this ADSR you might just build it first like it was intended with C7 connected to pin 7 of IC1-B and without connecting C7 to the second pole of the 3 Way switch. In the stripboard layout it's simply a matter of connecting the 10nF cap between pin 2 of the LM358 and the strip directly underneath the LM358 which connects it to pin 7 via a wire bridge. Then it's back to how it was originally. Should you encounter the same problems I had then you can make the same alterations I did and have it function perfectly that way. Instead of a double pole 3-way (rotary) switch you can use a single pole one and if you need C7 to be disconnected in Normal mode, just use a little toggle switch for that. Double pole 3-way switches can be expensive unless, like me, you have some lying about in your junk box.

Here's the new schematic drawing that I made and used for my build with C7 connected to switch S1-B. (That's the only difference to the original schematic) :

This is a re-drawn version of the original Digisound-80 schematic, without any changes. You can use the "J" and "K" keys on your keyboard to quickly switch from one picture to the other so you can easily see the changes.:

Here's the verified stripboard layout. The changes I made are implemented in the layout but if you connect the lower pin of C7 one strip higher, you can do away with switch S1-B and everything is back to how it originally was, so the changes (if needed) are very easy to make.
BEWARE! All IC's are mounted with pin 1 to the lower right!
Wiring diagram:

Print only:

Bill of Materials:

There are two trimmers in this circuit RV2 and RV6.
RV2 is used to set the maximum sustain voltage to the same value as the attack peak voltage so no sudden voltage change occurs when the attack cycle is finished. The best way is to use an oscilloscope to set this but you can do it with a voltmeter too. I advise to check out the original text (second link below) and read the calibration instructions there. They are on page 4.
RV6 is more for polyphonic systems and for normal use it can be left in the middle position.

Here's a screenshot of the oscilloscope that illustrates the oscillating Decay problem I had in the beginning:

Here are some screenshots of the different modes of this ADSR:
This is the Damped mode with short and continuous key pressing:

You can see that every time you let go of a key an almost instantaneous release kicks in and kills off the note.
Here's the 'Automatic' mode with the same quick key presses:

Here you can see that letting go of the key will not stop the envelope. It will go through its complete cycle even if no gate signal is present. If you press a key before the cycle is finished it will start at the beginning again as you can see at the right side of the waveform in the screenshot above. This way you can create multiple peaked envelopes by re-triggering the ADSR.

Finally here's a shot of the normal ADSR mode:

I'm really glad I was able, with the help of the Synth DIY group, to get this envelope generator working like it should. Even with the oscillating Decay I thought it good enough to keep it in my modular setup but now it's working like it should it is a real little gem.
I don't think you can build a better ADSR with the AS3310 chip.

Here are two pictures of the module, one taken after I installed it in the synth and one after I just finished the build. You can see that I put in a lot of output jacks for the envelope. It's always useful to have a few extra I think. The top two outputs are switched in parallel over the ADSR output and the bottom two are switched in parallel over the extra output on the stripboard. Below the inputs for Gate and Trigger there are two more sockets. They are Gate and Trigger outputs. They are each switched in parallel over their respective input sockets. I later added a yellow LED to have a visual indication of the envelope. The LED is soldered over one of the extra ADSR output sockets using a 15K resistor as current limiter so as to not influence the envelope voltage and to make sure the LED doesn't shine too bright:

Here's a link to the Electro-Music Engineer PDF article by Charles Blakey about this module:

Here's the original Digisound article in PDF form, about this ADSR:

In the original Digisound modular synthesizer this is actually a dual ADSR:

Okay, that's number 33 done. As always put any questions in the comments below please or contact me on Facebook. Please leave a comment anyway while you're here and if this website is of use to you please consider buying me a coffee ^___^
See you on the next one!


  1. Hello Eddy
    wow, thank you for your publications of your work, i solder a lot for my eurorack and also u5. if you have a donation account via paypal i would give you something for your effort. Do you have a contact address? thanks anyway

    1. I received your donation. Thanks so much Maik!! You're awesome! I only have a small state income so your help is just awesome! I'm very grateful! Thanks again! =)

  2. This comment has been removed by the author.

    1. You can use any Germanium diode I think. I used an OA85 myself.

    2. Sorry, I think I deleted your comment by mistake.