The trigger CHOP release stage does not function a typical envelope generator does. When the trigger CHOP receives an “off” trigger it should over-ride whatever stage it is in at the time and reach a value of 0 in the amount of time specified by the release time parameter.
Currently, the trigger CHOP will always wait to have reached its “sustain level” value before engaging the release stage.If complete envelope is “on”, it will complete the decay stage to get there, if it is “off” it will instead jump to that value.
Have a look at the attached tox, and compare it against the ‘Amplitude Envelope’ in Ableton’s Online synth playground: Learning Synths
For demonstration, set Attack = Decay = Release = 2 seconds.
It looks like the Trigger CHOP behaves in line with Ableton’s Amplitude Envelope. In both, when the release threshold is hit (a threshold of 0 by default), the envelope jumps to the Sustain value and does a full release stage from there, no matter what previous stage it may have been in.
Hope this solves it. If not, can you share a toe file to better demonstrate what you’re observing?
Thanks for looking into it. I can confirm that the current trigger CHOP release stage implementation matches that of the Ableton website you’ve linked however their implementation is also incorrect.
Here’s a website I found that I believe outlines a correct implementation of an envelope generator. The bullet points at the top of the page even specifically refer to the release stage: Making Audio Plugins Part 11: Envelopes - Martin Finke's Blog
Upon closer inspection it looks like only the visual representation of the Ableton “Learn to Synth” patch is incorrect (and in line with the TD trigger CHOP) whereas the envelope generator actually functions as desired.
There are a few other issues regarding the trigger CHOP I would like to have addressed. Should I make a separate RFE thread for them?
Earlier today I also realized that it might just be the viewer of the envelope on the Ableton website behaving that way, as you show in the video. Additionally, looking into the envelopes in the Vital Synth and this online synth, they also both ‘visually’ jump to the sustain value when starting the release stage, but ‘audibly’ start the release stage from the current value, no jump. So, this does make sense. Internally discussing what can be done for this behavior.
For the additional Trigger CHOP RFEs, it might be good to directly email support@derivative.ca so that we can better flesh out the ideas.