Go Back   Cockos Incorporated Forums > REAPER Forums > newbieland

Reply
 
Thread Tools Display Modes
Old 04-20-2017, 11:05 AM   #1
read
Human being with feelings
 
Join Date: Apr 2015
Posts: 1,378
Default compression attack release

hi

i understand attack is how fast the signal over the threshold is lowered down by the ratio set.

RELEASE is where i'm confused.

First of all my release setting starts at 50ms.

I don't understand this.

Also....what if i have attack 70ms and release 50ms...what happens then?
read is offline   Reply With Quote
Old 04-20-2017, 11:48 AM   #2
mibo1022
Human being with feelings
 
mibo1022's Avatar
 
Join Date: Mar 2017
Posts: 33
Default

Release determines the amount of time before the compressor disengages after the signal drops below the threshold. So as for your theoretical, the comp would kick in 70ms after the signal reaches the threshold and would release 50ms after the signal drops below the threshold. The attack "timer" starts before the release "timer" which is how you are able to have your release longer than your attack.

I don't always word things the best, so I hope this makes sense.
__________________
Remember, there is no right way to eat a Rhesus.
mibo1022 is offline   Reply With Quote
Old 04-20-2017, 11:52 AM   #3
read
Human being with feelings
 
Join Date: Apr 2015
Posts: 1,378
Default

thank you thats great i understand better now
read is offline   Reply With Quote
Old 04-20-2017, 11:53 AM   #4
DVDdoug
Human being with feelings
 
Join Date: Jul 2010
Location: Silicon Valley, CA
Posts: 2,779
Default

Quote:
Also....what if i have attack 70ms and release 50ms...what happens then?
If you have a transient that lasts for less than 70mS, maybe nothing, or maybe a slight compression effect.

Otherwise it should work "as expected". Compression should have fully kicked-in* 70mS after the signal goes above the threshold and gain/levels should be back to normal 50mS after the signal falls below the threshold.



As far as I know, there is no industry standard for attack & release times... But it might be about 90%, so at the after 70mS you might have 90% of the compression ratio.
DVDdoug is offline   Reply With Quote
Old 04-20-2017, 12:21 PM   #5
read
Human being with feelings
 
Join Date: Apr 2015
Posts: 1,378
Default

ok i see

one last question

when i put the ratio infinite to 1, attack instant

and threshold -36DB

why do i still hear sound coming through? I thought that would kill the sound completely

how many DB should threshold be so that no sound would come through?
read is offline   Reply With Quote
Old 04-20-2017, 01:50 PM   #6
mibo1022
Human being with feelings
 
mibo1022's Avatar
 
Join Date: Mar 2017
Posts: 33
Default

Hmmm...Interesting question. I'm not sure. Just out of curiosity, why would you want it to kill the sound completely? Or are you like me, and just need to know because you just need to know?
__________________
Remember, there is no right way to eat a Rhesus.
mibo1022 is offline   Reply With Quote
Old 04-20-2017, 02:43 PM   #7
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

Quote:
Originally Posted by read View Post

how many DB should threshold be so that no sound would come through?
-inf dBFS
bezusheist is offline   Reply With Quote
Old 04-20-2017, 05:12 PM   #8
read
Human being with feelings
 
Join Date: Apr 2015
Posts: 1,378
Default

Quote:
Originally Posted by mibo1022 View Post
Hmmm...Interesting question. I'm not sure. Just out of curiosity, why would you want it to kill the sound completely? Or are you like me, and just need to know because you just need to know?
yes out of curiosity
read is offline   Reply With Quote
Old 04-20-2017, 05:13 PM   #9
read
Human being with feelings
 
Join Date: Apr 2015
Posts: 1,378
Default

Quote:
Originally Posted by bezusheist View Post
-inf dBFS
hmmmmmmm
read is offline   Reply With Quote
Old 04-20-2017, 07:23 PM   #10
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Two things:

1. ReaComp is technically "broken", in that even an infinite ratio still lets a small bit of audio through above the threshold. Most compressors/limiters will cut it off properly though.

2. Attack time is how long it takes the compressor to reach "full strength", like the time it takes for a car to hit 60mph. It's NOT a measure of how long before the compressor reacts. The amount of gain reduction is ramped up to ratio you've set; the car is moving the whole time.

Likewise, Release time is how long it takes the compressor to completely let off after the signal falls below the threshold. As with Attack, it's a smooth ramp down. Think of it as braking a car - you can slam on the brakes, but it'll still take a few seconds until you stop.

As to your original example, with Attack @ 70ms and Release @ 50ms:

- The signal comes up past the threshold.

- The compressor immediately starts compressing a tiny bit.

- Over the next 70ms, the compressor will compress more and more until it hits 3:1 or whatever you've set.

- When the signal drops off, the compressor will spend the next 50ms compressing less and less until it stops compressing entirely.

- If the signal drops below the threshold before the attack time has elapsed, (I think) the compressor will say "alright, I'm at 50% of my maximum compression" and swap over to the appropriate position in the release curve.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 04-20-2017, 11:51 PM   #11
timlloyd
Human being with feelings
 
Join Date: Mar 2010
Posts: 4,713
Default

Quote:
Originally Posted by Lokasenna View Post
2. Attack time is how long it takes the compressor to reach "full strength", like the time it takes for a car to hit 60mph. It's NOT a measure of how long before the compressor reacts. The amount of gain reduction is ramped up to ratio you've set; the car is moving the whole time.
Technically, Attack time is the time taken for the device to reach some proportion of maximum gain reduction (as determined by the Ratio). This proportion is not constant across all compressor designs, which is one thing that contributes to them sounding and feeling different. As you imply, it begins the instant that the input signal breaches the Threshold.

(Unless you have non-zero Pre-comp in ReaComp, just to muddy the waters a little bit.)

Quote:
Originally Posted by Lokasenna View Post
Likewise, Release time is how long it takes the compressor to completely let off after the signal falls below the threshold. As with Attack, it's a smooth ramp down. Think of it as braking a car - you can slam on the brakes, but it'll still take a few seconds until you stop.
This isn't correct. Release, much like Attack, is the time taken to restore (some proportion of) the reduced gain (as determined by the Ratio).

So when do the attack and release phases happen?

They both happen while the signal is above the threshold, so the easiest way to think about it is:
- increasing gain reduction meter = attack phase
- decreasing gain reduction meter = release phase

It's easy to prove this to yourself. Just set up ReaComp on a drum bus with 2:1 Ratio, very low Threshold so it's buried in compression constantly. Now play around with the Attack and Release controls. If the commonly repeated definitions of Attack and Release were correct, neither control would do anything in this scenario, because the input signal is always above the Threshold ... but of course they do

This is a great way of learning how to use these controls more effectively, and how to hear what they're doing with less extreme amounts of compression. It's probably easiest to hear with drums, but by all means do the same thing with other sources too

(Source: I work for an audio plug-in company; not a developer, but close enough to the design process that I know what's going on under the hood. There's also a good write up from another plug-in designer here)
timlloyd is offline   Reply With Quote
Old 04-21-2017, 12:09 AM   #12
timlloyd
Human being with feelings
 
Join Date: Mar 2010
Posts: 4,713
Default

Quote:
Originally Posted by read View Post
ok i see

one last question

when i put the ratio infinite to 1, attack instant

and threshold -36DB

why do i still hear sound coming through? I thought that would kill the sound completely

how many DB should threshold be so that no sound would come through?
In your scenario the output signal should be equal to the Threshold: -36 dBFS. It's not quite that simple, because Attack is rarely instant, but that's not super important here.

If you wanted to get silence out, you'd need a compressor with negative ratio (-1:1) so that, instead of 'becoming horizontal' at inf:1 Ratio, the transfer function curves back down to -inf dB above the Threshold.

Last edited by timlloyd; 04-21-2017 at 12:18 AM.
timlloyd is offline   Reply With Quote
Old 04-21-2017, 01:50 AM   #13
slipstick
Human being with feelings
 
Join Date: Apr 2016
Location: UK, near Europe
Posts: 878
Default

Quote:
Originally Posted by read View Post
hmmmmmmm
The compressor simply lets through everything below the threshold without modifying it. If you want it to let nothing through you would need the threshold at -infinity.

Steve
slipstick is offline   Reply With Quote
Old 04-21-2017, 04:32 AM   #14
mibo1022
Human being with feelings
 
mibo1022's Avatar
 
Join Date: Mar 2017
Posts: 33
Default

Quote:
Originally Posted by Lokasenna View Post

2. Attack time is how long it takes the compressor to reach "full strength", like the time it takes for a car to hit 60mph. It's NOT a measure of how long before the compressor reacts. The amount of gain reduction is ramped up to ratio you've set; the car is moving the whole time.

Likewise, Release time is how long it takes the compressor to completely let off after the signal falls below the threshold. As with Attack, it's a smooth ramp down. Think of it as braking a car - you can slam on the brakes, but it'll still take a few seconds until you stop.

As to your original example, with Attack @ 70ms and Release @ 50ms:

- The signal comes up past the threshold.

- The compressor immediately starts compressing a tiny bit.

- Over the next 70ms, the compressor will compress more and more until it hits 3:1 or whatever you've set.

- When the signal drops off, the compressor will spend the next 50ms compressing less and less until it stops compressing entirely.

- If the signal drops below the threshold before the attack time has elapsed, (I think) the compressor will say "alright, I'm at 50% of my maximum compression" and swap over to the appropriate position in the release curve.
OK, now I am confused. If attack is the "ramp up" time then what is the purpose of the "Knee" parameter? I was under the impression that knee controlled the "ramp up" time. Is this somehow an extension of the attack param? Wouldn't this be a redundant control?
__________________
Remember, there is no right way to eat a Rhesus.
mibo1022 is offline   Reply With Quote
Old 04-21-2017, 04:50 AM   #15
timlloyd
Human being with feelings
 
Join Date: Mar 2010
Posts: 4,713
Default

Quote:
Originally Posted by mibo1022 View Post
OK, now I am confused. If attack is the "ramp up" time then what is the purpose of the "Knee" parameter? I was under the impression that knee controlled the "ramp up" time. Is this somehow an extension of the attack param? Wouldn't this be a redundant control?
Please read my posts above

Knee relates to signal level and Ratio, not to time / rate. Non-zero knee gives a smoother transition from a ratio of 1:1 (below the threshold) to x:1 (when sufficiently above the threshold), rather than an instant transition.

To get a feel for what this means in use, start again with ReaComp on a drum bus. Start with a ratio of 10:1, and set the Threshold so that the louder hits still don't quite breach it. Then increase the knee size and notice how the gain reduction starts to kick in.
timlloyd is offline   Reply With Quote
Old 04-21-2017, 04:55 AM   #16
slipstick
Human being with feelings
 
Join Date: Apr 2016
Location: UK, near Europe
Posts: 878
Default

I always think of the knee as controlling the shape of the attack i.e. whether it goes up linearly to full compression or curves off gently as it approaches full compression. E.g.see http://www.homestudiocorner.com/what...-a-compressor/

Steve
slipstick is offline   Reply With Quote
Old 04-21-2017, 05:00 AM   #17
mibo1022
Human being with feelings
 
mibo1022's Avatar
 
Join Date: Mar 2017
Posts: 33
Default

Quote:
Originally Posted by timlloyd View Post
Please read my posts above

Knee relates to signal level and Ratio, not to time / rate. Non-zero knee gives a smoother transition from a ratio of 1:1 (below the threshold) to x:1 (when sufficiently above the threshold), rather than an instant transition.

To get a feel for what this means in use, start again with ReaComp on a drum bus. Start with a ratio of 10:1, and set the Threshold so that the louder hits still don't quite breach it. Then increase the knee size and notice how the gain reduction starts to kick in.
I did read your posts above. And your explanation of attack and release are fairly clear to me. I'm still a little confused about knee though. So is it that attack and release are a ramp up based on time, whereas knee is based on how far above the threshold the signal is regardless of how long it takes to get to any particular level? Is this correct?
__________________
Remember, there is no right way to eat a Rhesus.
mibo1022 is offline   Reply With Quote
Old 04-21-2017, 05:03 AM   #18
mibo1022
Human being with feelings
 
mibo1022's Avatar
 
Join Date: Mar 2017
Posts: 33
Default

Quote:
Originally Posted by slipstick View Post
I always think of the knee as controlling the shape of the attack i.e. whether it goes up linearly to full compression or curves off gently as it approaches full compression. E.g.see http://www.homestudiocorner.com/what...-a-compressor/

Steve
Thanks, between this and timlloyd's response, I think I am getting it now.
__________________
Remember, there is no right way to eat a Rhesus.
mibo1022 is offline   Reply With Quote
Old 04-21-2017, 05:22 AM   #19
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

this graphic shows an overlaid comparison of knee vs. no knee transfer curves (using ReaComp)
threshold = -12 dBFS
ratio = 2:1

blue = no knee
green = 12 dB knee

__________________
I like turtles
bezusheist is offline   Reply With Quote
Old 04-22-2017, 11:09 AM   #20
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Knee is really just a "smoothness" setting, as seen in the image above. With a hard knee the compressor will sit there doing absolutely nothing until your signal hits the threshold, and then it will step on the gas as hard as it can (keeping in mind the Attack time). With a softer knee, say 3dB, it will start compressing a tiny, tiny bit when the signal is 3db (I think?) below the threshold and will apply a curve to the overall compression strength, giving what people tend to call a more open, or transparent sound.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 04-22-2017, 11:18 AM   #21
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by timlloyd View Post
Technically, Attack time is the time taken for the device to reach some proportion of maximum gain reduction (as determined by the Ratio).
Sorry, yes, that was a typo. I think there's a specified standard, somewhere, that Attack refers to something like 2/3 of the full GR, but as you say every manufacturer does their own thing.

Quote:
This isn't correct. Release, much like Attack, is the time taken to restore (some proportion of) the reduced gain (as determined by the Ratio).
Huh. You learn something new every day.

Release time is perhaps better described as a "fall-off" time for GR, like you'd see on volume meters.

Love that article, have read it several times.... apparently wasn't paying attention. Oops.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 04-22-2017, 11:24 AM   #22
ashcat_lt
Human being with feelings
 
Join Date: Dec 2012
Posts: 7,271
Default

Quote:
Originally Posted by mibo1022 View Post
I did read your posts above. And your explanation of attack and release are fairly clear to me. I'm still a little confused about knee though. So is it that attack and release are a ramp up based on time, whereas knee is based on how far above the threshold the signal is regardless of how long it takes to get to any particular level? Is this correct?
Yeah, the knee is about the target gain reduction based on where the detector level is relation to the threshold. It is essentially a modifier to the ratio, and has nothing to do with time whatsover.

The compressor decides what gain reduction it should be applying based on threshold, ratio, and knee, and then starts trying to get there. How long it takes to get there is up to attack and/or release. In normal usage, a compressor is almost never actually applying as much gain reduction as it should because the level is always changing, and both attack and release are always smearing it's reaction time.

...and that's without even starting to talk about RMS window or pre-comp.

Since we're talking about knee, it's important to realize that it "spreads" around the threshold. That is, some signals below the threshold will be compressed anyway, but it doesn't actually reach full ratio until somewhere above the threshold.

An unfortunate side effect of this is that with very high ratios (limiter/clipper function), you end up with outputs louder than the threshold. The gain reduction actually folds back on itself in an unnatural and undesirable way. And that's on top of what was mentioned above about how ReaComp's "infinite" ratio setting is only actually 10000:1. All of that means you can't meaningfully predict the limit level even if all time constants are at 0. If Attack, Release, or RMS time are greater than 0 (or AA/oversampling is turned on), you wouldn't be able to predict that limit anyway, but...
ashcat_lt is offline   Reply With Quote
Old 05-05-2017, 04:27 PM   #23
hamish
Human being with feelings
 
hamish's Avatar
 
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
Default

Quote:
Originally Posted by ashcat_lt View Post
but...
But it's still a really cool compressor?

Anyone want to explain why with no gain reduction at all, setting anti aliasing to 32x will cause a signal going through ReaComp to peak up to 3 dB higher?
hamish is offline   Reply With Quote
Old 05-05-2017, 04:33 PM   #24
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

Quote:
Originally Posted by hamish View Post
But it's still a really cool compressor?

Anyone want to explain why with no gain reduction at all, setting anti aliasing to 32x will cause a signal going through ReaComp to peak up to 3 dB higher?
It is from the LPF. The high frequencies phase shift can cause new peak levels.
__________________
I like turtles
bezusheist is offline   Reply With Quote
Old 05-05-2017, 04:46 PM   #25
hamish
Human being with feelings
 
hamish's Avatar
 
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
Default

Sounds plausible. What about resonance at the knee of the LPF? I may try some null testing.
hamish is offline   Reply With Quote
Old 05-05-2017, 04:48 PM   #26
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

Quote:
Originally Posted by hamish View Post
Sounds plausible. What about resonance at the knee of the LPF? I may try some null testing.
There is no resonance.
No need for a null test, just check the frequency response with a 1 sample pulse.

Edit: I had this in another thread, it shows the FR for 2x (green) and 64x (red) oversampling...


So I guess I am proving myself wrong, there is slight "resonance" with the 64x response.
But the phase shift plays a greater role as far as level change is concerned.
__________________
I like turtles

Last edited by bezusheist; 05-05-2017 at 04:59 PM.
bezusheist is offline   Reply With Quote
Old 05-05-2017, 04:59 PM   #27
hamish
Human being with feelings
 
hamish's Avatar
 
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
Default

Ha ha, that was quick! Thanks.
hamish is offline   Reply With Quote
Old 05-05-2017, 05:07 PM   #28
bezusheist
Human being with feelings
 
bezusheist's Avatar
 
Join Date: Nov 2010
Location: Mullet
Posts: 829
Default

No problem, I actually had that pic handy in a thread here about Reacomp s AA not working, which it does not. they claim it is a "fixed" issue, but it is not. It is a joke, actually.
__________________
I like turtles
bezusheist is offline   Reply With Quote
Old 05-06-2017, 03:58 AM   #29
Judders
Human being with feelings
 
Join Date: Aug 2014
Posts: 11,044
Default

Quote:
Originally Posted by timlloyd View Post
(Source: I work for an audio plug-in company; not a developer, but close enough to the design process that I know what's going on under the hood. There's also a good write up from another plug-in designer here)
I've read that article a few times. Best explanation of compression I've come across
Judders is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 05:14 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.