Hi everyone!

I`m learning Michael Massbeg`

s scientific work, about automatically compressors now, and often see a mention about alpha-coefficients for attack and release (α). I`m understanding that this coefficients using for smoothing filters, but I can`

t understand, how it works, and can`t find detailed information in Google. I`

m understood that signal decreases exponentially and α helps him do it more smoothly. But, when I calculated equal:

alpha_attack = 1 - exp(-1 / (44100 * 0.025));

I getting number approximately equal 0.0000001638;

(0.025 - attack time, 44100 - sample rate).

Please, could you explain to me, what is this number (0.0000001638), and how it works?

Most compressors use an exponential function for their attack and release so that for each sample the envelope can simply be multiplied by a constant. For example, if that constant was 0.9, you’re first sample could be 1.0, then 0.9, then 0.81, 0.729, etc.

I’m not familiar with the work you mentioned but I would guess that alpha-coefficients mentioned are these constants used to exponentially close or open the envelope.

Exponential functions never actually reach 0 so the constants are calculated such that the final result will be a number very very close to 0, hence why you’ve got the result of 0.0000001638. From there you can just set the next envelope sample to 0 which won’t be noticable.

Thank you! Now it will be much easier for me to understand the rest of the material.

Note there is something going wrong with your calculation. For 1 - exp(-1 / (44100 * 0.025)) I get 0.0009066182516

To check that’s correct (1 - α)^(number of samples) should be 0.37 as that’s how time constants are defined. (1 - 0.0009066182516)^(44100 * 0.025) = 0.368 which is close enough!

Thank for note, but 0.0000001638 is not my calculation, but an example number. I wanted to say that it turns out about this number))