Old 07-09-2019, 06:24 AM   #1
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,238
Default ReaComp's Auto Makeup Gain is broken

This may be "as intended", given that there are posts mentioning this issue from at least eight years ago, but the way auto makeup gain works is unexpected and unhelpful far more often than not.

Current behavior:
ReaComp looks at its threshold and ratio and applies enough gain to keep a 0db input signal at 0db after compression. I think.

Example: Noise generator at -12db, ReaComp at 3:1, with the threshold at the edge of gain reduction.



Problem:
You can see that with the compressor just barely touching the input signal, it's boosting the output by 6.6db. That's not "making up" for anything.

This behavior makes sense for a signal at 0db, but only for a signal at 0db. Since most signals are not running that hot, the makeup gain is incorrect. Consider tracks recorded at Ye Olde -18db Into The Interface - there's really no way to use auto makeup gain coherently on them. You could pull down the Wet slider to compensate, but it will only keep the signal where you want it for that exact combination of Threshold, Ratio, and Wet.

The net effect is similar to what you get from a master limiter that just pushes the signal "up" until it starts hitting the compressor. Not quite the same though, as with the threshold at Infinity the signal only gets up to around -3db before the compressor starts hitting it.

Expected behavior:
The amount of makeup gain should (in the idealized, high school physics, "assuming zero friction and a spherical cow" sense) be equal to the average gain reduction.

Sai'ke's explanation below made me realize that this isn't practical - any averaging function would in effect be a compressor on the compressor. However, the fixed reference point limits the usefulness of this feature to signals at the reference point.

Dirt-simple solution:
Add an offset slider to set the makeup gain's baseline. i.e. If my snare is peaking around -13db, let me set the base value to -13db and do the math with that as a starting point, applying 0db of makeup gain when the threshold is above it. Problem solved! Bonus points: It's backwards compatible! Yay!

Last edited by Lokasenna; 07-10-2019 at 06:38 AM.
Lokasenna is online now   Reply With Quote
Old 07-09-2019, 03:09 PM   #2
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,029
Default

+1 ! If there is any unexpected behavior, then it need correction :P


But there is a quicker dirty fix : just changing the label name ^^

Last edited by X-Raym; 07-10-2019 at 03:21 AM.
X-Raym is offline   Reply With Quote
Old 07-10-2019, 01:11 AM   #3
sai'ke
Human being with feelings
 
sai'ke's Avatar
 
Join Date: Aug 2009
Location: NL
Posts: 660
Default

Is what you call most common solution actually the most common solution? I imagine doing such a gain reduction estimate will introduce a second timescale (the window over which this estimate is made) which will make the compressor more unpredictable and therefore harder to tweak, not easier.

I think makeup gain as it is defined now is how most papers I have read define it. Makeup so 0dB ends up at 0dB. Some products halve the gain required for this.

The second option has my support tho. Would be nice to set the unity transform point.
__________________
[Tracker Plugin: Thread|Github|Reapack] | [Routing Plugin: Thread|Reapack] | [Filther: Thread|Github|Reapack] | [More JSFX: Thread|Reapack]
sai'ke is offline   Reply With Quote
Old 07-10-2019, 06:36 AM   #4
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,238
Default

Quote:
Originally Posted by sai'ke View Post
Is what you call most common solution actually the most common solution?
I just looked through all of the compressors I have on here and you're right - "auto makeup gain" is apparently understood by most to mean "with reference to 0db".

Quote:
I think makeup gain as it is defined now is how most papers I have read define it. Makeup so 0dB ends up at 0dB. Some products halve the gain required for this.
Papers as in actual technical documents? I'm struggling to find anything on the topic with Google - lots of forum posts, etc.

Regardless, there's a significant disconnect between how pretty much everyone defines "makeup gain":

Quote:
Originally Posted by Sweetwater
After your signal undergoes the gain reduction process of compression you need some way to bring the average overall level back up so that the signal sits in the mix appropriately.
and "auto makeup gain" - the 0db reference shows up out of nowhere as a "well, we can't make this use a true average so fuck it" fallback.

(Editing the OP to note your response. Cheers)
Lokasenna is online now   Reply With Quote
Old 07-10-2019, 02:17 PM   #5
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,664
Default

Perhaps if ReaComp's release curve were more "normal", it would make the auto makeup gain option more "normal" (in terms of what people would expect from such a feature). Currently I find I'm using ReaComp with 6dB of reduction (or sometimes more), then compensating by adjusting the other controls; if I don't do this, I find ReaComp isn't very useful to me except for relatively finer/cleaner compression. With other compressors I'm usually able to get a similar result with around 3dB of reduction. Using more gain reduction (and higher ratio etc.) in ReaComp makes the auto makeup option very impractical to me since its effect is so exaggerated. If I were only reducing gain around 3dB and not using higher ratios, the auto makeup feature might be more practical.

I made a feature request here, asking the devs to consider adding another release curve option.
__________________
http://petersamplification.com
Using REAPER for Linux

Last edited by JamesPeters; 07-10-2019 at 02:27 PM.
JamesPeters is offline   Reply With Quote
Old 07-11-2019, 10:41 AM   #6
vdubreeze
Human being with feelings
 
vdubreeze's Avatar
 
Join Date: Jul 2011
Location: Brooklyn
Posts: 1,762
Default

I pretty much always take off auto gain makeup on anything. Never trusted what might to the gain structure if it's within a chain and I alter a parameter on it, and how that might affect what the next plugins get and respond to. A limiter at the end might go from knocking off 2db randomly to being 2 db short of hitting the threshold. Obviously, the compressor level can will change when a parameter is changed, but at least that's an assumed and predictable change with accompanying obvious task of compensating. I just never saw an advantage to having it engaged that wasn't overidden by the fact that it might not be correct, and may even be wildly wrong.
__________________
The reason rain dances work is because they don't stop dancing until it rains.
vdubreeze is offline   Reply With Quote
Old 07-11-2019, 11:57 AM   #7
JamesPeters
Human being with feelings
 
JamesPeters's Avatar
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 2,664
Default

I agree. I just figure maybe for the people who like using this kind of thing (since it's on other compressors), to make it work more "normally" it could be a matter of the release curve being unusual (requiring greater gain reduction/knee size/ratio to make a noticeable "compressor sound").
__________________
http://petersamplification.com
Using REAPER for Linux
JamesPeters 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:38 PM.


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