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.
PROBLEMS I ENCOUNTERED:
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.
PROBLEMS I ENCOUNTERED:
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.
NOTE ABOUT AUTO-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.
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'm not going to try this because it says with this modification it will trigger fine with Gate's higher than +9 Volt. With signals lower than 9V the schmitt trigger doesn't trigger. Not much use then.
I think my own solution is a much better one.
NOTE ABOUT AUTO-MODE:
One little thing you need to be aware of with this ADSR is that 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.
IMPORTANT CONSIDERATION:
IMPORTANT CONSIDERATION:
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.
SCHEMATICS:
SCHEMATICS:
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).:
THE LAYOUTS:
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).:
THE LAYOUTS:
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.
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):
Bill of Materials:
CALIBRATION:
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:
http://www.digisound80.co.uk/digisound/other_documents/doc_files/1981-12_EM_Eng_CEM3310.pdf
Here's the original Digisound article in PDF form, about this ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18_files/80-18.pdf
In the original Digisound modular synthesizer this is actually a dual ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18.htm
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.
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.
CALIBRATION:
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.
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 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 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:
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:
http://www.digisound80.co.uk/digisound/other_documents/doc_files/1981-12_EM_Eng_CEM3310.pdf
Here's the original Digisound article in PDF form, about this ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18_files/80-18.pdf
In the original Digisound modular synthesizer this is actually a dual ADSR:
http://www.digisound80.co.uk/digisound/modules/80-18.htm
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!