[Fpga-synth] Envelope - linear attack & expo decay/release?

Eric Brombaugh ebrombaugh1 at cox.net
Thu Apr 2 17:20:30 CEST 2009


Here's a philosophical question:

Last weekend I built an ADSR for my ARM/FPGA synth and it seems to work 
fine. The thing that's bugging me is that I used linear calculations for 
the gain, so when doing a long release that last little tail seems to 
cut off rather abruptly.

The obvious solution is to use exponential decay for the release. I know 
how I'd implement that in hardware (scale the difference between where 
you are and where you're going by some constant related to the rate & 
add to current state). Question is, is the exponential curve also 
appropriate for the attack & decay phases?

The ultimate envelope would seem to be one with the option for 
log/lin/expo curve on each segment, along with variable rate & target. 
You'd need three parameters to define every segment. Probably too 
complex, but certainly flexible.

Thoughts? What have you tried in the past?

Eric


More information about the Fpga-synth mailing list