[sdiy] Dealing with velocity sensitivity / scaling on envelopes
Andrew Simper
andy at cytomic.com
Sat Oct 7 11:42:48 CEST 2017
On 1 September 2017 at 02:16, Tom Wiltshire <tom at electricdruid.net> wrote:
> Hi all,
>
> I’m writing some code for a velocity-sensitive envelope generator. This
> throws up a few issues I haven’t had to deal with before.
>
> ...
> I play a loud note with Sustain at maximum and a very long Release. Then I
> let go of the note (Gate goes low, long release starts) and play another
> very softly. The last output level is very close to maximum amplitude,
> since the Release time is long and it hasn’t dropped much yet. But the new
> note is very quiet and even the maximum Attack level could well be far less
> than the current output.
>
> So what should I do? Attacking downwards seems completely wrong. Jumping
> abruptly to zero and then attacking up to a much quieter note completely
> chops off the long release of the previous note. Are there other options?
>
> Has anyone else come up against this? What did you decide? How do modern
> monosynths that include velocity sensitivity deal with it? What does Moog
> do, for example?
>
> Thanks,
> Tom
>
Hi Tom,
Missed replying first time around on this, but I've tackled this in several
synths. I'm assuming here that you are going to use a VCA to control the
amplitude of the entire envelope as raw velocity changing time constants
shouldn't be an issue.
I decided to add a velocity glide one pole low pass filter to smooth out
changes in velocity between notes of a mono synth, this way changes
throughout the synth based on velocity have a single point of control to
decide how smooth they should be. If you want the maximum flexibility you
could have both the raw velocity and the one pole low passed velocity as
modulation sources, and it's up to the customer to pick which behaviour
they want.
Another alternative is to have a low pass filter on each velocity cv being
sent to control the amplitude of each envelope VCA, and use the attack time
to adjust the smoothing. This way you can fine tune per envelope how smooth
you want velocity transitions to be.
(just skimmed the thread again and can see that Chris)
Cheers,
Andy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://synth-diy.org/pipermail/synth-diy/attachments/20171007/0dc607e1/attachment.htm>
More information about the Synth-diy
mailing list