What do these words mean on my compressor?

I still don't get this. Your diagram seems to prove otherwise, but every resource i can find seems to say release only comes into play once the signal has passed below the threshold again.

The only way both of these things can be right is if the 'signal' we're talking about is actually the output signal.
I don't imagine that's how it works, but it makes sense in relation to your picture.

The input signal, not the output, is measured against the threshold. The input (first pic) is above the threshold the whole time and you can see attack and release slopes in the output (second pic).

It's true that attack and release only start working after the signal rises above the threshold, but they aren't actually triggered by threshold crossings. The just say how fast the actual gain can change when the target gain changes, and target gain only changes above the threshold.
 
Ok, i understand. I think this describes it well.

In the example given, there are two tones, both of which are above the threshold.


The release time can be observed at the transition of these two tones, but not because the compressor is letting go (ie audio is below threshold)

The release is observed (in this case) as is the amount of time that the compressor takes to change from reduction A to reduction B.


So with the tone at -3db, the compressor is reducing 13 db to get back to threshold.
When the tone drops to -12, the compressor is still reducing by 13db. This amount is gradually lowered for the duration of the release, at which point it settles on a reduction of 4db; Back to the threshold.

Yeh?
 
Ok, i understand. I think this describes it well.

In the example given, there are two tones, both of which are above the threshold.


The release time can be observed at the transition of these two tones, but not because the compressor is letting go (ie audio is below threshold)

The release is observed (in this case) as is the amount of time that the compressor takes to change from reduction A to reduction B.


So with the tone at -3db, the compressor is reducing 13 db to get back to threshold.
When the tone drops to -12, the compressor is still reducing by 13db. This amount is gradually lowered for the duration of the release, at which point it settles on a reduction of 4db; Back to the threshold.

Yeh?

That is the idea I've been trying to get across. Note that the output level is only the same as the threshold when the ratio is ∞:1. With a lower ratio the different sections of my clip would settle to higher output levels (-14dBFS and -10.5 I think).
 
Oh yeh, i get that. Thanks though.

Probably came across like a noob there, but it's strange, I never really thought about how the release works in the 'real world'.
 
Here's basically the same experiment with the ratio set to 2:1 rather than ∞:1. I set the attack and release to 50 and 500ms respectively. Threshold is -16dBFS. Input tone is 4.41kHz and varies between -12 and -3dBFS peak in 300ms sections, so all the action shown occurs above the threshold.

before3.jpg


after3.jpg
 
Okay...I just did a similar experiment in Audition (I have guests arriving in a minute but I'll post screen shots later).

The results I got were as expected--no effect on the signal until it hit the threshold (with either direction of movement) and a peak (or dip) corresponding to the attack and release times. When I engaged the look ahead function, this removed the overshoot totally on the attack phase--but there was still some overshoot on the release.

Anyhow, I'll post some pics later today after our visitors go.

As for your first demo, I'm at a loss as to why the compressor was operating even when the signal was below threshold...must admit I'd assumed the threshold was set at -12 rather than -16 because that was the way things seemed to be operating.
 
Okay...I just did a similar experiment in Audition (I have guests arriving in a minute but I'll post screen shots later).

The results I got were as expected--no effect on the signal until it hit the threshold (with either direction of movement) and a peak (or dip) corresponding to the attack and release times. When I engaged the look ahead function, this removed the overshoot totally on the attack phase--but there was still some overshoot on the release.

Anyhow, I'll post some pics later today after our visitors go.

As for your first demo, I'm at a loss as to why the compressor was operating even when the signal was below threshold...must admit I'd assumed the threshold was set at -12 rather than -16 because that was the way things seemed to be operating.

Well, the input signal level was never below the threshold. The threshold was set to -16dBFS and the lower part of the signal was -12dBFS peak. All the action occurs above the threshold, which was my point. To reproduce my experiment you have to have a signal that varies in level but doesn't fall below the threshold.

More importantly you can simply hear the effect of attack and release in action above the threshold. Open an audio file, insert a compressor with a low threshold so the signal is always into gain reduction then mess with attack and release. The sound will change.
 
Okay. I've come close to duplicating your experiment. The results are less dramatic in Audition than Soundforge but I CAN see artefacts at the points of level change even though there shouldn't be any attack/release since the threshold is below everything.

Here's my original:

300msorig.jpg

And here's the result after compression:

Compressed.jpg

I'm still sceptical that the algorithm is clever enough to sense changes in direction of level rather than just working at threshold but my curiosity is piqued. I wonder if it's just overshoots in the processing--but I've posted the query elsewhere and hope to get an answer from a friendly software engineer who actually writes DAW programmes for a living. If I get a reply, I'll post it here.
 
Wait, what? lol.

Have we not just changed sides?

I though we just established that the threshold is irrelevant.

The compressor is compressing by a large amount because the signal is loud.
When the signal goes quieter the compressor doesn't immediately respond, It takes an amount of time to 'catch up'

The release time?

So if the first tone is 20db over threshold and the ratio is 2:1, it's reducing by 10db.
If the second tone is only 10db over, it'll still reduce by 10db until it processes the change.

I guess look ahead features are designed to make it act the way i thought it did. IE, no release comes into play unless the threshold is crossed.
 
Well, not exactly changed sides but I am curious now. In my test, if I set the attack and release times to zero, I don't get those artefacts as shown above which means SOMETHING is happening! Hopefully, I'll get a definitive answer from one of the guys who actually writes the software. I just hope I'm not eating crow when the answer comes!
 
So if the first tone is 20db over threshold and the ratio is 2:1, it's reducing by 10db.
If the second tone is only 10db over, it'll still reduce by 10db until it processes the change.

As the level changes target gain reduction is constantly recalculated. The attack and release settings determine how quickly the actual gain reduction follows the constantly changing target. When the target gain reduction rises past the actual gain reduction the attack controls how quickly the actual reduction follows. When the target gain reduction falls below the actual gain reduction the release controls how fast the actual reduction catches up to the target.

In your example the second tone's target reduction would be 5dB. The release setting would interact with the signal's shape to create a new artificial dynamic envelope.
 
Well, not exactly changed sides but I am curious now. In my test, if I set the attack and release times to zero, I don't get those artefacts as shown above which means SOMETHING is happening! Hopefully, I'll get a definitive answer from one of the guys who actually writes the software. I just hope I'm not eating crow when the answer comes!

I also curious what the code monkeys say, but really all you have to do is listen. Try a listening test with the threshold at -∞. There is no threshold crossing at all but when you adjust the attack and release settings the sound changes.
 
Well, I've got a fairly definitive answer I think.

It is, indeed, levels passing the pre-set threshold that tells the compressor to start and stop compressing. The attack and release settings only come into play once the compressor has detected a signal going past the threshold level.

However, it gets more complex than that for a few reasons.

First, although the compressor can detect a signal going above (or below) threshold within a single half cycle, there's a few other things that come into play. First besides the attack and release that you can set for aesthetic reasons, there's an inherent delay in the time it takes for electronics to process the detection and then calculate the gain reduction needed. This built in "attack" in the system exists even if you set the attack control to zero.

Second, there's an ongoing processing time even once compression is operational because the ratio is just that, a ratio rather than a preset amount of gain reduction. Say you set the ratio to 2:1 and the signal goes from 2 volts to 3 volts. A 2:1 ration will reduce the voltage change to half what is in the orginal signal which, in the case of a 1 volt change allows the signal to rise by .5 volt. If the signal rises to 5 volts (a 3 volt increase) the compressor will allow 1.5 volts of gain. Discussing voltage in an analogue world equates to sample by sample calculations in a digital compressor on a DAW.

(All this ignores the option to use look ahead on a digital compressor of course.)

For those interested, the full reply I got is here:

You have to look at the history of compression, and how this was done by conventional electronic means before you get any sort of idea of how it really works - and then you have to bear in mind that although software compression can get around some of the apparent problems raised, it isn't necessarily a good thing to do so.

The original problems with compression were twofold when it came to conventional electronic compressors. Firstly, they took time to analyse the incoming waveform; secondly, they took even more time to respond to changes. This was generally because the element doing the controlling of the signal (and there were several different methods) also had a finite response time. Generally the response of the controlling element was physically constrained, and this ultimately limited the attack time - even if you could detect a change quicker, you couldn't apply it any faster - you couldn't delay the output, which had to be acted on in real time. The response of the detector is essentially amplitude-based - if the first half-cycle exceeds the threshold amplitude, then in theory a corresponding signal is sent to the controlling element. The detector, though, always tracks the amplitude envelope of the incoming signal, and this is what determines, via the controls, the amount of compression. The decay time was determined entirely by controls though - the moment the signal envelope drops below the set threshold, the decay rate sets in. If the signal goes back up, then decay stops - after another attack time has passed.

The threshold control determines the point at which the controlling starts, and the ratio control determines the rate of change applied at that point. There's a threshold level at which gain reduction kicks in, and then the rate of gain reduction is set by the ratio control. If it's set at 2:1, then every increase in gain that there would have been is halved. If you set the ratio ridiculously high - let's say at 99:1, then you've built a limiter - for every increase in gain, there's effectively no increase in output. Except that this behaviour is modified slightly because of attack times and transients within them. If a transient occurs that's quicker than the total attack time of the system (detector and gain reduction element), then it will get through. The only way to stop this happening is to use a software compressor with look-ahead, as I mentioned earlier - that will catch everything.

Anyway, this is what software compressors were basically trying to emulate.

But what the software ones can also do is compensate for some aspects of compressor behaviour, because essentially they don't have to work in real time. This means that it's possible to use 'look-ahead'. If you do this, then theoretically you can make a good job of even catching the first half-cycle of a waveform that exceeds your threshold - because you've already done the detecting. And because you've got software control of the final amplitude rather than a hardware device, you can cause instantaneous changes to take place. But as anybody experimenting with a software compressor soon realises, most of the things that are possible don't happen - the devices are designed more along the lines of the original hardware, because that's what people actually want! They don't want instantaneous attack, because that gets rid of transients, and that's where a lot of the crucial information in a signal is. Also, for some tracks timed pumping is called for - and this requires a system with a known temporal response, not one where the rate of change of the input signal is determined and used in any way.

The other thing that you have to bear in mind is that we are creating a signal envelope. And in order to do this, we have to do some sums. What we are doing is technically known as integration - we are calculating the area under a curve, and to do this we need to have an integration period. With Audition and Cool Edit's Dynamics Controller we get options here to control this. And it's in the Attack/Release section of this that you get all the clues. Firstly, note that it tells you that it's the amplitude that is determined, not the rate of change, and secondly you can determine (because it has more options available than most compressors) how the amplitude envelope is determined in the detector - either by peak values, which means that the integration time is effectively the same as the sample rate, or by RMS values. It doesn't say what the RMS integration time is, but I daresay that it wouldn't be too difficult to determine this.

But Audition's Dynamics Controller is a good example of how software can emulate - and also overcome the limitations of - a hardware compressor. The detector and controller characteristics can be separately determined, and look-ahead can also be specified. I'm not 100% convinced that the output always reflects exactly what you set, but it gets pretty close. But just because you can overcome the way a hardware compressor works, it doesn't usually pay to do so unless you have a really good reason for doing so.

Anyway, I think that explains why, even when everything is above the threshold setting, you can still hear the effects of varying the attack and release (and see it on the waveform). Just because everything is above threshold, doesn't mean the compressor doesn't need time to "think" and "work" on the signal.

I'm glad we got into this...I've learned something and understand compression better than my working knowledge before.
 
Last edited:
Thanks for doing that, Bobbsy. More info always helps.

I read and re-read that whole thing and I don't see anything that's inconsistent with my understanding of attack and release. If there's something in particular you think makes me wrong please point it out.

Here's my latest experiment. It's a short clip from a song that was mastered to about -12.4dBFS RMS and -0.3dBFS peak. The compressor is the Track Compressor that comes with Vegas 6, set to a -30dBFS threshold, ∞:1 ratio, 15ms attack. The first clip is unprocessed, the second has the release set to 0ms, the third has the release set to 5 seconds.

Unprocessed

0ms Release

5s Release

The question is, do you hear a difference between the two processed signals?
 
I'll have a listen to your files in my studio to give it my best shot...but that might not be for a couple of hours!

I think the only point of disagreement between us is whether the attack and release come into play on signals above threshold, triggered by an upward or downward-moving signal or whether it takes "crossing the threshold" is required (which is what I contend). However, in the real world it's probably a bit academic because (even if the level has to move above or below the threshold) a little as a half cycle crossing the threshold can trigger things happening. Also, there will be artefacts in any signal caused by the amount of analysis and processing involved in compression even if everything is above threshold.

Anyhow, I'll fire up the monitors and have a listen to your files this evening with a bit of luck!
 
Really?
So I was right to start with?
I'm going back to bed!!!



BSG, do your very first test again but with a super long release.

If you do or don't see a difference that answers it once and for all.

*edit, i see you've done that already.Is there a visible difference?
 
Really?
So I was right to start with?
I'm going back to bed!!!



BSG, do your very first test again but with a super long release.

If you do or don't see a difference that answers it once and for all.

*edit, i see you've done that already.Is there a visible difference?

If we're going to be scientific about it we have to show the repeatability of the experiment. Here is a -12/-3 signal again, with the -16/∞:1 compressor. Pics are: unprocessed, 500/5000ms, 250/2500ms and 0/0ms.

unprocessed.jpg


max.jpg


half.jpg


min.jpg
 
Back
Top