[sdiy] Lin/Log VCAs and envelopes - compensating for log VCAs

Tom Wiltshire tom at electricdruid.net
Fri Feb 12 01:30:01 CET 2016


Hi Simon,

> When you combine a linear EG with an exponential VCA you will certainly not get a picture as in http://www.tomwiltshire.co.uk/images/2LogADSROutput.png

No, you won't. That's because this is a picture of a exponential EG into a linear VCA seen on a log scale.

My point was that as the sustain level drops, the "exponential approach to sustain" becomes less and less true. By a sustain level of 1/8th, there is a clear angle between the decay and the sustain section. It only looks smooth viewed on a linear graph, and that viewpoint doesn't hold much validity when we are discussing volume.

> You are correct in observing that, at low sustain levels, this EG stops to "ease" into the sustain. However, note that the envelope is apparently clipped at a certain level; below that level the EG is not exponential anymore. This is obvious from the log diagrams: if the release phase were a true exponentially decaying curve, it would show as a straight line. Instead its slope is not constant, but towards the end it starts falling steeper and steeper.

This is more-or-less inevitable with the digital envelopes we've been discussing. Most digital envelopes trim the end of the decay curve at some point simply to save memory and reduce the number of samples that all say "1" at the end of the curve. My example was fairly harsh, but not unrealistic. In the video posted earlier in this thread,  Nigel Redmon proposes a -80dB level for the "end" of the curve, a 0.0001 level. Beyond that, the digital resolution provides a limit. 

Regards,
Tom

>  
> Best regards
> Simon
>  
> 
> > Op 11 februari 2016 om 22:16 schreef Tom Wiltshire <tom at electricdruid.net>:
> > 
> > 
> > Hi Simon,
> > 
> > The data I gathered suggests that the "gradual evolution" you talk about with a standard ADSR into a linear VCA only really holds up at higher sustain levels. Note that I'm *only* talking about envelope-to-VCA here. In other situations, this doesn't apply, but I'm specifically interested in that particular situation.
> > 
> > Here's -6dB sustain:
> > 
> > http://www.tomwiltshire.co.uk/images/2LogADSROutput.png
> > 
> > It has some curve on the decay.
> > 
> > By the time we're at -12dB it's straightening out:
> > 
> > http://www.tomwiltshire.co.uk/images/4LogADSROutput.png
> > 
> > And -18dB and -24dB are basically straight:
> > 
> > http://www.tomwiltshire.co.uk/images/8LogADSROutput.png
> > http://www.tomwiltshire.co.uk/images/16LogADSROutput.png
> > 
> > So although the classic ADSR might *look* like it "eases into" the sustain, it only really does for fairly loud sustains where the volume drop is relatively small.
> > 
> > That said, you're quite right that there is a difference here between a log-compensated envelope into a log VCA and a standard ADSR into a lin VCA. It's just that I suspect it isn't half as big a difference as the typical linear ADSR plot makes it look like. If you start plotting ADSRs on a log scale, the differences look a lot less significant. The next question is "how much can we hear it?". The human ear is pretty poor on volume, so my bet is "not much, bordering on not at all", but I need some more experiments to prove it.
> > 
> > Tom
> > 
> > 
> > On 11 Feb 2016, at 20:37, Simon Brouwer <simon.o at brousant.nl> wrote:
> > 
> > > Hi Tom,
> > > 
> > > A linear decay will result in an exponentially decreasing gain if the decay phase continues until the gain is practically zero (say -100 dB).
> > > 
> > > But if the sustain level of the linear EG is set to correspond with, for example, -6dB (or 0.5) then until this level is reached the curve will be the same, but after that, all of a sudden, the gain stop decreasing.
> > > 
> > > In other words, in this approach the asymptote of the exponential curve remains the 0 gain, while for a gradual evolution into the sustain level we want the asymptote to be the sustain level gain.
> > > 
> > > Best regards
> > > Simon
> > > 
> > > > Op 11 februari 2016 om 20:14 schreef Tom Wiltshire <tom at electricdruid.net>:
> > > > 
> > > > 
> > > > Hi Simon,
> > > > 
> > > > Sorry, I don't understand why a linear decay into a exponential VCA only gives an exponential decay when sustain is zero. If the VCA is set up to drop by 6dB for 30 mV, then it drops by 6dB when the linear control voltage drops by 30mV. I don't see how the sustain level can affect that.
> > > > 
> > > > Am I missing something?
> > > > 
> > > > Thanks,
> > > > Tom
> > > > 
> > > > On 11 Feb 2016, at 15:59, Simon Brouwer <simon.o at brousant.nl> wrote:
> > > > 
> > > > > Hi Tom,
> > > > > 
> > > > > To my ears, linear slope envelope generators (as found in many digital synthesizers, as a linear slope is so much easier to calculate) are vastly inferior to exponential slope ones, as at the end of the decay phase the envelope does not gradually evolve into the sustain level, but switches from changing into static all at once. This often results in a sound that is interesting in the beginning, but loses all life in the sustain phase, or is cut off in an unnatural way. Layering and/or lots of reverb may mask this to an extent but that is just stopgap. Real synthesizers have curves!
> > > > > 
> > > > > A linear decay combined with an exponential control/gain VCA will give an exponential decay of amplitude, but only if the sustain level is 0. With nonzero sustain levels the envelope will again switch from changing to static all at once.
> > > > > 
> > > > > 
> > > > > Best regards
> > > > > Simon
> > > > > 
> > > > > > Op 11 februari 2016 om 15:47 schreef Tom Wiltshire <tom at electricdruid.net>:
> > > > > > 
> > > > > > 
> > > > > > Yeah, I've done the same thing. My PIC VCADSR has linear or exponential envelopes selectable. But that's not exactly what I'm suggesting here.
> > > > > > 
> > > > > > Instead, I was thinking of doing a normal exponential ADSR for use with a linear VCA, and a "log compensated" ADSR for use with a log VCA. This would have a linear decay and release, but an extreme curve to the attack section to give the typical shape even with the log VCA.
> > > > > > 
> > > > > > Tom
> > > > > > 
> > > > > > On 11 Feb 2016, at 09:14, Roman Sowa <modular at go2.pl> wrote:
> > > > > > 
> > > > > > > It was too easy not to implement it, so I did that on my EG too. One switch determines exponential or almost-linear curve for attack and the other one for 1st decay. It simply changes the voltage charging the timing capacitor.
> > > > > > > Here's example scopeshot of both settings:
> > > > > > > http://www.sowa.synth.net/modular/addsr_punch.jpg
> > > > > > > 
> > > > > > > Roman
> > > > > > > 
> > > > > > > W dniu 2016-02-10 o 23:27, P Maddox pisze:
> > > > > > >> Tom,
> > > > > > >> 
> > > > > > >> On 06/02/2016 19:08, Tom Wiltshire wrote:
> > > > > > >>> Being able to switch between the two curves would enable people to
> > > > > > >>> use either a log or linear VCA and still get the same effect.
> > > > > > >>> 
> > > > > > >>> What do you all think?
> > > > > > >> That's what we do with 001/002/002R, you have the option for "linear" or
> > > > > > >> "exponential" Envelopes.
> > > > > > >> Exponential "sound" quicker than linear but give the typical "synth" sound.
> > > > > > >> 
> > > > > > >> P
> > > > > > >> 
> > > > > > >> _______________________________________________
> > > > > > >> Synth-diy mailing list
> > > > > > >> Synth-diy at dropmix.xs4all.nl
> > > > > > >> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
> > > > > > >> 
> > > > > > > _______________________________________________
> > > > > > > Synth-diy mailing list
> > > > > > > Synth-diy at dropmix.xs4all.nl
> > > > > > > http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
> > > > > > 
> > > > > > _______________________________________________
> > > > > > Synth-diy mailing list
> > > > > > Synth-diy at dropmix.xs4all.nl
> > > > > > http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
> > > > > _______________________________________________
> > > > > Synth-diy mailing list
> > > > > Synth-diy at dropmix.xs4all.nl
> > > > > http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
> > > >
> > > _______________________________________________
> > > Synth-diy mailing list
> > > Synth-diy at dropmix.xs4all.nl
> > > http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
> >




More information about the Synth-diy mailing list