ΣSigmaStudio Ask AI Русский Log in

Formulas for Compressor Decay, Hold, Attack

SigmaDSP & SigmaStudio db10 Mar 15, 2011 00:00 3 replies Original on forum ↗
Thread Summary

Thread Summary

The user inquired about the theoretical derivation of the attack and decay formulas for a compressor/limiter, specifically the origin of the slope 48000 / 26373 and the value 26373. The final answer indicated that the formulas were reverse-engineered from observed values in the Capture Window due to time constraints. The engineer noted that the provided formulas are sufficient for current needs but expressed interest in the actual parameter calculation equations for a deeper understanding.
AI Generated Content
Subscribe
db10 Question
Mar 15, 2011 00:00

In the October 28 time period, a discussion was generated in which the formulas for compressor/limiter hold, decay, and attack times were corrected .

Excerpt:

Value stored in RAM (in 28.0 integer format) = Sample Rate (in Hz) / 26373 * Decay Setting.

And to get to 5.23 format just multiply that result by 1.19209289550781E-07.

Here's an example. Type in 50 dB/s in the decay control. You should see 0x00 0x00 0x00 0x5B in the capture window. That equals 91 in 28.0 integer format and 1.08480453491211E-05 in 5.23 decimal format.

So, let's see if that matches the calculation:

48000 / 26373 * 50 = 91.

91 * 1.19209289550781E-07 = 1.08480453491211E-05.

Is a more theoretical treatment of the derivation of the attack and decay formulas available? For example the formula above was essentially derived by test driving different settings and recording what values are reported in the capture window. I'd be interested in understanding why the slope of the line is determined by 48K / 26373 in the above example and where the value 26373 comes from.

Thanks,

ADIApproved Reply
Mar 17, 2011 00:00

db10,

Back in October, I was living and working in Tokyo. Due to the 13-hour time difference I decided to reverse-engineer those formulas using the Capture Window instead of waiting for the software team in the US to wake up! So, your suspicion is correct.

In any case, that explanation solved the problem for the time being, so I didn't pursue it any further. If it's still of interest to you, I'll try to get the actual parameter calculation equations from the software team.

db10 Reply
Mar 18, 2011 00:00

Brett,

I've been trying to create a few working documents for firmware guys, since they all keep coming up with the same questions regarding how to control compressor parameter. The formulas you provided will suffice for now.

Eventually though it would be nice to know how the software is calculating time constants, etc.

Dave

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin