Friday 22 May 2020

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

A great ADSR with 3 different types of envelopes and extra outputs including an inverted one. Warning: This was a temperamental build because it didn't work perfectly when I first built it. However the problems have been identified and solved. See text below for a more in depth explanation. 

NB: Please don't attempt to build this if you're a beginner in need of a simple reliable workhorse ADSR. This can be a bit of a temperamental build because of the many options this ADSR offers. I recommend the 7555 ADSR if you want an easy to build, good, reliable ADSR. Regard this one as an experimental or advanced project. 

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.
    When I first built this ADSR I had my problems with it and so did many others so please treat this project as experimental. However the layouts are 100% verified. Mine is working fine in the normal and damp settings, and for a long time I thought automatic mode was faulty but that is meant for external trigger sources so it's behaviour is normal although useless for normal use. Read the comments below to see what problems people run into. If you want a reliable ADSR without any bells and whistles then build the 7555 ADSR

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. This is mentioned above in the features, that it has an option for multiple peaks in the Damped and Auto mode but that's not supposed to happen in 'Normal' mode.
The frequency of this oscillating Decay could be changed by changing the Decay time. Short time equals fast oscillations, long time equals slow oscillations so you could almost think this was meant to be but I can not believe it was meant to work like this in the 'Normal' mode.
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 used 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 unused part of the  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. Should you want an oscillating Decay in 'Normal' mode you could easily add a switch to connect C7 again. Now you have the choice between the two. (This option I leave to you. It is not documented anywhere in this article).
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 triggering (with a momentary switch) and inputting gate signals. You could use the internal socket switch of the Gate input socket for this too, that's up to you but then you can not press trigger when a cable is connected to the Gate input.
NB: In 'Dampened Mode' the Decay control determins the length of your envelope. 

EDIT 30th of JULY 2023: I was made aware of an article addressing the decay oscillation issue and it offers a solution for the multiple triggering in Normal Mode: It advises to use a schmitt trigger on the trigger input so the trigger level is always at the highest possible voltage. The cause of this retriggering namely, is an impedance issue and the fact that the trigger pulse isn't high enough in voltage. I'm posting the original article below here, so you can read it yourself. I might try this solution later in the year and I'll publish any results I get here in the article when I do.

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 click on the picture and then 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 (only on a Mac or PC).:

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!
The layouts were rivised to make them easier to read in Nov. 2023.
Wiring diagram:

Stripboard only. Don't forget to cut the copper strips at holes H-32, K-32 and P-42 (under the capacitors):
Beware that some stripboards are sold with 56 instead of 55 holes horizontally. The layout is 55 holes wide:

Cuts and wirebridges as seen from the COMPONENT SIDE!
As always, mark the cuts on the component side first with a Sharpie or Edding pen and then stick a pin through the marked holes and mark them again on the copper side. Then cut the strips using a sharp 6 or 7mm hand held drill bit. Then solder in all the wirebridges before you get on with soldering in the components.

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 peak Attack voltage so no sudden voltage change occurs when the attack cycle is finished or so that the Sustain voltage can never be higher than the peak Attack voltage. The best way to set this is to use an oscilloscope 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.
So, that's all the calibration you need to do ^__^

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:

Here's a look at the response time of this ADSR. It's not the fastest response but still, 1.36mSec is pretty fast I suppose. The yellow line is the Gate signal and the blue is the ADSR output with Attack set to zero:

I'm really glad I was able, with the help of the Synth DIY group, to get this envelope generator working like it should at least in Normal and Damped mode. I do have one little quirck with mine. I can only use Auto mode if I switch from Normal to Auto while holding down a key on the keyboard and then the envelope is constantly retriggered so it functions as an LFO. Personally I find this very useful so I'm keeping it like this but let me know in the comments if yours does the same and/or if you found a solution for this. Or maybe this is just how it should be. I really don't know.

Here are some pictures of the module and print. The first one was taken after I installed it in the synth and the second 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. If you have any questions please post them on the Eddy Bergman Projects Discussion and help Facebook Group, or the comments below or contact me directly.

See you on the next one!

If you find these projects helpful and would like to support the website and its upkeep then you can buy me a Coffee. There's a button for that underneath the menu if you're on a PC or Mac. Or you can use this PayPal.Me link to donate directly. All donations go towards the website and projects. Thank you!


  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.

  3. Hi Eddy. I'm planning on building a synth and your pages are some of the most comprehensive on the net, specially concerning stripboard designs. I really cannot overstate how useful finding your site has been for me, it's an oustanding job what you've done here.
    I want to build some of your modules, but I'm having some trouble finding 55x24 stripboards out there. Where did you get yours?
    Thank you in advance, and cheers from Spain.

    1. Ok nevermind I already found some XD

    2. Hi, I'm glad you're finding my website so useful. Yes you can find 24 x 55 stripboard on eBay or AliExpress. That's where I get it from too. If you have any problems building my projects, please don't hesitate to contact me, either in the comments here or on Facebook.

  4. Hi Eddy,
    Your work is impressive and inspiring. I know almost nothing about synths at the moment, but I want to get into it. I am starting to build a few of your layouts since I want to put a mini diy synth together.
    Would you need a midi keyboard to trigger some of the modules? Or just the oscillators will do the job? Thanks and keep up the good work.

    1. Hi, you need a midi keyboard and you need a MIDI to CV converter like the Doepfer A-190-3 to convert the MIDI to Control Voltages (1 Volt per Octave) that you can input into the Voltage Controlled Oscillator. Some keyboards have a CV output so you don't need the converter. Like the Keystep Pro I believe. Good luck with the builds. If you have any questions, put them in the comments or go the EddyBergman Projects facebook page where many people will help you.

  5. Thank you for your quick and useful reply. Greetings from Canada.

    1. You're welcome! Greetings from The Netherlands! ^___^

  6. Hi Eddy, I have built several modules from your website and my modular box started to get shape, look and sound. This is very exciting since I am discovering new sound territories. I have recently acquired an Arturia minilab usb keyboard (used, mk1, 2 octaves). I am willing to connect it to the vco's via a midi to cv converter, as suggested above. This keyboard only has a usb type B connection and a volume control 1/4 jack, no power supply. Question is, will the midi 2 cv converter supply power the keyboard and in the meantime feed midi signal to the converter? I am thinking of building something like this:
    Thanks, Cris.

  7. Hi Eddy I'm working on a polysynth and I'm wondering if it's possible to control multiple modules sustain with one cv. It looks straight forward with the ADR but the sustain I'm confused about. Would the modules sharing a sustain cv also have to share a gate signal? Thanks.

    1. Oh I really wouldn't know. You'd have to test that.

  8. hi Eddy, first thank you for sharing your building experience with us, you blog is really worth to be read.
    I built this module for eurorack,12V, with a custom PCB, using smd 0805 resistors & tl072 and through hole for the rest.
    The issues i have now:
    - in normal gate mode,low decay, i get a burst instead of a single envelope.the burst amplitude seems driven by the env parmeters as the last envs seem to have less amplitude on the scope
    - still normal mode, if i increase the decay after a threshold value there seems to have just a single env
    - the enveloppe doesnt really fall to zero, the vca driven by it stays always a bit open
    - the release pot doesnt look to affect the signal at all
    As i was not able to find the right 3P3T switch, i wired directly the TL out to C7 that is connected to the - in of the other TL.
    And im using 50k pots instead of 47k.
    So im just starting troubleshooting, but if you have any ideas or encountered similar problems, i would be happy to know about

    1. I'm sorry I can't offer you any suggestions. The 50K pots are fine. I had some problems with this one too that's why I added the switch. I hope you can figure out the problems.

    2. ok i had misundertood the 3P3T wiring,so disconnected C7 (its was connected to the TL072 in normal mode) and the enveloppe stopped cycling..maybe a hint to modify it further to add a loop mode
      remains now the release that is not working, i verified most of the parts, troubleshooting still on going...

    3. Ah okay. Yeah I put that switch in myself because I had problems with multiple Decay pulses in the normal setting. Thanx for the update.

    4. So after lot of troubleshooting i finally found the issue!
      All the issues came from the gate input signal not triggering correctly the envelope; thats why there was no release at all and a strange sustain behaviour
      And the guilty one was the TL072 that did not close the gate correctly; when i removed it, i was able to see all the envelope stages working
      Someone on the web suggested me i had counterfeit TLs (got them from tayda electronics), so for the moment i left it without TL072 and just raised R1 to 100kOhm to avoid to much gate signal current draining.

    5. Oh so cool you found out the cause. Counterfeit TL's from Tayda... That's a bit weird. That's usually a pretty reliable source for components isn't it? (I never ordered from Tayda myself). But anyway, glad you found the cause and this comment alone will be of great use to others who come across the same problem. Thanks for sharing the info and let us know how it goes if you try good TL chips or an LM358.

  9. Hey Eddy, I'm brand new to the synth world so please forgive me if these are dumb questions. I've been working on this ADSR design for a project and I've tried to stick exactly to your specs on a 15V system, but I've having some problems.

    1. All of the ADSR stages are completely linear, which differs from the waveforms you have in your post. Am I missing something obviuos? Does the type of capacitor have a large impact? This linear response is, I believe, causing a lot of ringing problems.

    2. After the attack stage reaches around 5V (Which I've found to be the attack peak input voltage at pin 3) the envelope jumps ~2V, then begins the decay stage. This is regardless of the sustain level, which I can quite easily control.

    Do you have any ideas on why these problems might be occuring? I haven't seen any mention on your post or the original Digisound page of the type of capacitor to be using, so I've been using a variety of types (I think). I've switched out the chips a few times, checked with an oscilloscope all over the board, and tried many combinations of the ADSR settings - I'm stumped.

    Thanks for the blog!

  10. I'm sorry you're having problems with it Luke. I don't know why these things occur. This has always been a little bit of a problem child on my website. I had my fair share of trouble with it too, hence the need for a switch after C7. The jump in voltage sounds familiar. I'm sorry I can't help you with this. It's been so long since I built it but maybe you can post your question in the facebook group. There are some very knowledgeable people on there who might be able to help you out.

  11. Hi Eddy.

    I am trying to build the schemataic you have provided without the rotary switch in easy EDA.
    I am confused on how the switch S1 is connected and what J1 is would this work?
    Thanks for such a great blog! greetings from Denmark.

    1. Hi Vitus. I can see a few problems in your schematic. Diode D1 should be a Germanium type although I think a 1N4001 will work too. The chip U2.1 is connected to power the wrong way. +15V should be on pin 8 and ground on pin 4. There is no +15V on the collector of Q1 and the switch is mounted the wrong way around and it should be a 3 way switch not 2 way. The Gate signal should be on the moving arm of the switch not on one of the contacts. J1 is the internal switch contact of the Gate input socket, so when no cable is inserted that contact is made, and when a cable is inserted that contact is broken.

    2. EDIT: I meant "there is no +15V on the collector of Q1 in your schematic." There should be +15V on it.

  12. I understand thank you very much :)


Note: comments are moderated and do not appear straightaway. Your first comment is not allowed to contain any links.