Envelope Generators again
gstopp at fibermux.com
gstopp at fibermux.com
Wed Nov 29 00:01:52 CET 1995
Hi List,
A few days ago I built an ADSR envelope generator out of some IC's and
a pair of DIP relays. The main reason for using relays in an ADSR
circuit was to eliminate (as best as possible) any errors resulting
from finite "on-resistance" of the integrating capacitor
charge-discharge elements. Since sluggish response is one of the main
complaints by users about the envelope generators found in some of the
various commercial synthesizers, I wanted to start from an idealized
case and work from there to come up with a design that looks as good
as possible on paper (or on a scope), with the fewest possible parts.
I want a bigger home-built system and I'm kinda lazy.
Anyway it worked great. The minimum time constants for attack, decay,
and release were in the tens of microseconds, as opposed to the tens
of milliseconds minimum times advertised in commercial systems. After
messing with the timing logic and component values, I was able to
optimize the thing for modular system use. Then I turned back to the
idea of replacing the relays with solid-state components to see how
the parameters changed away from ideal.
Since I based the charge/discharge logic on double-throw switches, the
first thing I tried was the 4053 triple 2-to-1 analog switch to
replace the relays. The timing performance did move away from the
ideal; however, the resulting numbers are actually better than most
spec-sheet numbers for commercial units, by a factor of 10 to 1 or
more.
Here are the numbers for the ADSR using the 4053 analog switch, 1 Meg
pots, and a 4.7 microfarad integrating capacitor:
Minimum Attack Time = 50 microseconds
Minimum Decay Time = 1.5 milliseconds
Minimum Release Time = 1 millisecond
Maximum Attack Time = 5 seconds
Maximum Decay Time = 6 seconds
Maximum Release Time = 6 seconds
Notice that the falling times are much longer than the rise time -
this is because the rise time is cut short when the attack peak level
is reached, rather than being allowed to charge up naturally, and the
falling times are natural (exponential) discharge curves. However -
most commercial synthesizers start at ten milliseconds and go up from
there. Changing the cap to 10uF doubles these numbers across the
board.
The whole thing runs off of +5 volts and ground. The ADSR has a
maximum amplitude of about 4 volts. I intend to modify the whole thing
to run off of +15 volts since +5 isn't traditionally used in analog
systems.
The timing logic consists of a pair of comparators whose inputs are
tied together but reversed, to provide a cleaned-up and buffered copy
of the input gate plus its inversion. These two signals then go to a
flip-flop made from a 4002 dual 4-input NOR gate. The gate is
differentiated by a cap to set the flip-flop, and the inverted gate
resets it. This provides the attack phase termination if the gate goes
away before the attack finishes.
The output of the flip-flop controls the attack-decay analog switch.
The inverse of the gate controls the decay-release analog switch. The
integrating cap is buffered by an op-amp. which provides the ADSR
output. This output also goes through a "peak-trim" trimpot back into
the flip-flop to reset it to start the decay phase when the attack
finishes.
Anyway I'll clean up the schematic and make it available by tomorrow
hopefully.
- Gene
gstopp at fibermux.com
More information about the Synth-diy
mailing list