[sdiy] Digital ADSR - Converting Digital into Piecewise Linear

Grant Richter grichter at asapnet.net
Sat Feb 19 22:45:06 CET 2011


If you have a clock that is controlling output data rate that is  
based on a sawtooth. Then you have a synchronous and continuous  
analog function that can be used to control an analog cross fader.

If you take two DACs and output the current sample in the first one  
and the next sample in the second DAC. Using the sample clock  
sawtooth wave to cross fade to the next sample instead of stepping  
gives you a linear line segment rather than a staircase. I believe  
this would be true linear interpolation and covert the digitally  
stored samples back into a continuous analog function.

Two linear wired 2164 VCAs with a precision control voltage inversion  
and offset op-amp is all that is required to make an analog cross  
fader. Why John Blacet didn't prewire his dual linear VCA module this  
way is probably because his envelope generators already output the  
offset and inverted signal needed to make a cross fader out of two  
linear VCAs. But the single quibble I can come up with for the whole  
Blacet module line is that the Dual Linear VCA module wasn't prewired  
as a cross fader.

The line generated will have angular steps rather than a continuous  
curve. But the angular direction changes in the line should be much  
less audible than a discrete step. In this case I'm guessing that a  
reconstruction filter at half the sample rate might eliminate the  
"corners" on the line and output a smooth curve.

If I recall correctly Don Buchla used this technique in the model 248  
Multiple Arbitrary Function Generator. In the model 257 he generates  
a linear interpolation of two functions by controlling two 4066  
switches into a common node with a 31.2 Khz clock and 0 to 100%   
pulse width modulation then reconstructing the analog function by  
filtering the pulse train with a 15 Khz Lowpass Sallen-Key filter.

There was also an article on piece wise linear synthesis in  
Electronotes where the author introduced the concept of a "ramp shot"  
circuit which could be chained to generate piece wise linear functions.



More information about the Synth-diy mailing list