Well, almost. You also need that recruitment-complementary compression to make it all work. But yes, dynamics are very very important to Crescendo. After the effort to find the recruitment equations, I’d have to state that I spent almost as much time honing the dynamic behavior in Crescendo.
Each of the 100 compressor channels (200 if you count in stereo), has a dynamics control process that is very elaborate. We do this both for reasons of ear safety, and to make things sound right.
First off, every compressor is using a 2 ms lookahead so that it knows what is coming and can take preemptive actions if necessary. If a big audio spike is coming along, it can start dropping the gain even before that spike reaches the output stage.
Gain reduction happens very quickly (instantaneously?). And gain won’t be brought back up except through a graceful envelope.
This gain envelope is only one graceful stage when the gain change is slight. But if a big spike comes in and we drastically reduce the gain, then we more rapidly reapply the gain on the backside of the spike, until we are within a small range of the running RMS gain level over the past 250 ms. At that point it switches over to the graceful slower envelope.
So you could call this a program dependent dynamic gain control.
But we also examine the crest factor of the sounds. On average you find that most audio has average crest factors of 6-10 dB. But a big nasty, narrow, spike can exceed that and reach up to 20 dB or more. Crest factor analysis helps us to realize when a nasty spike is coming and we need to really strongly react to the sound.
Big nasty spikes have almost no power in them. But they are nonetheless nasty to the ear. I liken it to being placed in a ceramic-tiled public john with two choices. Which would you prefer? A street kid with a boom-box and 16-inch speakers who lives for bass? Or a guy with a ball-peen hammer striking a steel plate?
Both are bad for you. But you can survive the kid with the boom-box. Your ears won’t survive too many ball-peen hammer strikes. And the reason has to do with our acoustic feedback control mechanism from the brain to the middle-ear.
When a loud sound is coming slowly (as in the waveform of a deep bass note), the middle ear pinches off some of that sound to protect the cochlea. But when a sound is very sharp and very quick, there isn’t enough power to register the level of danger to the brain and it is all over before your middle ear can pucker up. It takes about 10 ms for the brain-middle ear system to react.
The result is that the nasty spikes reach the cochlea at near full level, potentially causing structural damage.
We don’t want Crescendo to behave irresponsibly. It is boosting by significant amounts when there are quiescent levels in the sound. When a nasty spike comes in, it wouldn’t have enough power to alert Crescendo to is presence. But by performing crest factor analysis we could spot that spike anyway and take evasive action by immediately lowering the gain.
Dynamics are extremely challenging, and are still an area of active research and development on my part. I think we have a pretty darn good system now. But perhaps it could be improved. Any takers on the open source DSP code for improvements in the compressor dynamics?