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