New VC-ADSR design
gstopp at fibermux.com
gstopp at fibermux.com
Thu Feb 20 02:13:30 CET 1997
Hi DIY,
For lack of email recently I decided that I'd try my hand at creating
a voltage-controlled ADSR envelope generator from scratch.
The design borrows heavily from the concepts used in the ASM-1 EG,
such as the gate conditioner and the analog switches. The specs are as
follows:
Control Voltage range (attack, decay, release) : 0 to 15 volts
Minimum rise/fall time (attack, decay, release): 6.4 milliseconds
Maximum rise/fall time (attack, decay, release): over 10 seconds
Sustain voltage range : 0 to 10 volts
ADSR Envelope output amplitude : 10 volts
The min and max rise and fall times are determined by the integrator
capacitor, which can be changed in value as desired. I found the above
numbers to be a good compromise.
The heart of the module is a voltage-controlled slew limiter identical
to the one found in the Electronotes Preferred Circuits Collection,
based on the CA3080. Analog switches are used to select whether the
integrator charges to V+, to the sustain voltage, or to ground.
Additional analog switches are used to select the voltage pot
appropriate to the current phase of the envelope (attack, decay,
release). Yet another set of analog switches is used to select
external control voltages for the time constants. Since the analog
switches are powered between +15 and ground, diodes are used on the
external inputs to block negative inputs. Zero volts in sets the
longest times; the higher the voltage, the shorter the times, with the
minimum times at maximum input voltage.
For the attack flip/flop I used a 555 timer chip rather than the
CD4001 that I used in the ASM-1 EG. The 555's are a little easier to
get and they have a built-in reset comparator inside to boot. The only
drawback to the 555 is that it requires a negative-going trigger, but
since I like to buffer the gate with an external-signal conditioning
comparator anyway, I just had to swap the (+) and (-) inputs to allow
for the 555's preference. A buffered gate signal is provided to drive
a panel LED if desired.
Parts count is as follows:
(2) LM358 or similar single-supply dual op-amp
(1) TL082 or similar dual-supply dual FET op-amp
(2) CD4053 triple SPDT analog switch
(1) 555 timer
(1) CA3080 OTA
(1) 2N3906 PNP transistor
(4) 1K resistor
(1) 2.2K resistor
(1) 10K resistor
(8) 100K resistor
(2) 330K resistor
(1) 0.001uF capacitor
(1) 0.022uF capacitor
(1) 0.1uF capacitor
(4) 1N4148 diode or similar
(1) LED for gate status
This doesn't count the panel pots and jacks.
I'm sure the design could be adapted to use a different OTA such as
the LM13600, LM13700, etc.
- Gene
gstopp at fibermux.com
More information about the Synth-diy
mailing list