Idea for an envelope generator
Christopher List
Christopher_List at sonymusic.com
Fri Feb 9 09:30:07 CET 1996
Getting back to an old topic:
A long time ago I wrote:
>> Suppose you had a two channel sequencer (analog, of course).
>> Make channel A your voltage levels and channel B is your delay times.
>> You run the output of channel B into the CV of a linear VC slew limiter.
>> You split channel A. One line goes into the input of the slew limiter. The
>> other line goes into two amp amp circuits. One adds a millivolt, the other
>> subtracts a millivolt - these two signals become the high and low reference
for
>> a "window comparator". The output of
>> the slew limiter is your envelope output and also get's routed into the
input
>> of the window compator. Lastly, the output of the comparator gets routed
back
>> to the trigger input of the sequencer.
After which Gene replied:
> Okay I think I get it - the A row sets both the comparator reference
> "window" and the "goal" for the slew limiter to slew to, and as soon
> as that voltage on the selected pot is reached, move on to the next
> step. The B row sets the slew time for each step.
> Potential problems: first, the B row is not really time, just slope.
> The bigger the voltage difference between consecutive steps, the
> longer the slew will take, for a given slope. Second, if three row A
> pots in a row were set to the same value, would the comparator ever
> trip to advance to the next step? If there ever were a trigger "lost",
> then the thing would hang up and need another external trigger to
> finish. But then again that may lead to interesting sounds....
> Good thought experiment however!
[Enter Vissini from "The Princess Bride"]: Precisely! That was exactly the kind
of shooting down I was hoping for! - I knew that all along but thought I could
trick you into revealing something! - And you have!
OK, so, more thinking... New Idea. You've got two rows. Row A is voltages with
n pots, Row B is times, with n+ 2 pots. As has already been discussed in
another thread, we can set the time for each step by using B to set the
discharge time of a cap and creating a gate signal from that. So, using just
this, we've got a self-stepping evelope generator, but it "steps" from voltage
to voltage.
Now, the big trick! By running the output through a CV slew limiter, we can set
a slope from step to step, using a voltage, right? We just need the right
voltage at each step to get the slope we want...
how about this...
Slope = dY/dX. dY = (Row A voltage at sequencer step N) - (Row A voltage at
step N - 1). dX = Time = voltage that sets gate time for step N = output of row
B for step N. Now, you can use some analog multipliers to do voltage division,
right? - I wish I had brought my AD734 data sheets in today. So, you just do a
little trimming to get these two voltages scaled correctly (dY and dX) - divide
them, then use that as the CV for the slope of the slew limiter! The only
problem might be if you had a time of 0, I don't know how the divider would
handle it - but that doesn't matter! - Even if the divider is off by a little
bit, that just means you'd have little flat spots or tiny jumps in the curve
around the the step points...
Ideas? Flaws? Time to give it up and start thing about a digital approach?
-CL
(No TV)
More information about the Synth-diy
mailing list