AHDSR attack and release bug?

Hi all!

Been having some issues with short attack and release times using AHDSR modulation. This is my setup:

Multi-instruments played within a labelled parameter in FMOD 2.00.05. Each MI has AHDSR modulation on its volume to smooth out transitions between other MIs.

The problem/bug is that having very short attack and release times is introducing random clicks. The attack doesn’t seem to be smooth when looking at the a capture of me playing with this in editor:

Its also pretty inconsistent. The first 2 waveforms here have a blocky attack, as if the attack curve is going: 0%-50%-100%. The final one there I can’t really explain, looks like its almost ignoring the AHDSR.

Just tested this some more and the same happens with short release times. Even around 300ms the release seems blocky going downwards. Tried this in 2.01.00 with the same results.

Any ideas?


Hi cwdain,

We’ve identified the issue and have scheduled to address this in a future version. Thanks for the information.

1 Like

FMOD AHDSR and automation envelopes are quantized to frames (the internal frame rate of FMOD), so you hear clicking with short fades, especially audible with something like a sine wave. The only way to get smooth gain modulation is with the Tremolo DSP, which does its modulation trickery internally, independently of the frames.

Yes indeed, sample accurate ramping for both AHDSR and automation would be a nice future feature. I reckon it will increase the CPU cost though?

1 Like

Ah yes, Skaven252 is correct. There are update length steps to when the ahdsr is applied, and they may not align nicely with the instrument start/end. Also that a sample accurate ahdsr would be more cpu intensive.

We’ve added a task to our backlog to look at adding a sample accurate option to better cover this case.

Is there any word on this? It would be fantastic to have sample accurate envelope action, or maybe even to specify a rate which is somewhere in between. Perhaps having frame quantised movement by default, with the option to make some of them more accurate would be good.

I think this would be really handy for taking a loop and giving it a small fade in and out so there isn’t a horrible click when you trigger the loop’s start or stop.


There currently aren’t any updates on this - the task is still in our backlog.