Upwards software compressor

  • Thread starter Thread starter philbagg
  • Start date Start date
the upward compressor reduces dynamic range by increasing gain below the threshold.

So does parallel compression. That doesn't really differentiate the two.

I guess a better question is how would you implement a process like this if you had to design it?

For example would the pseudo logic be "if level is below the threshold raise by x dB across the board" or as Glen seemed to connotate, if the level is below threshold, compress and raise by x dB (i.e. compress up), or would it be something along the lines of "if below threshold raise by x%"?

None of the descriptions so far seem to answer this.
 
So does parallel compression.

I guess a better question is how would you implement a process like this if you had to design it?

Yeah, and if you read the rest of the post, you'll see how they do it differently.

And I don't have to design it. Somebody already has.:D

Maybe I'm showing my ignorance by not understanding why that's a better question.
 
I think I see what Tom is saying. My thought about Tom's question is that although the upward compressor is a single plug on the track, is the processing going on in the background all that different to parralell compression?
I have no idea about the coding of these things but maybe one way to do it would be to brickwall limit everything above the threshold. Apply compression at whatever ratio is specified and makeup gain to what is left and then mix back in to the original signal which is really not all that different from parallel compression

Bob Katz suggests very low threshold, low ratio, fastest possible attack, slow release parallel compression to acheive a natural sounding, non pumping "Upward compression"
since the threshold is very low and your only adding back in enough compressed sound to slightly reinforce the weaker sections, the compressed peak stuff is *almost* not there in the finished product.

I would imagine that if you find are using either an all in one "Upward compressor" or parrallel compression to get more than a slight reinforcement of quiet stuff the results are going to be less than stellar and a retrack may be in order
 
I guess a better question is how would you implement a process like this if you had to design it?

Picture this:
You split an analog audio signal and send one feed to an amp with a volume knob and the other feed to a light bulb.

The light bulb is on a circuit that measures the voltage amplitude of the sound passing through. When the voltage falls low enough, the light begins to glow. As the voltage falls lower, the light glows brighter.

There is an inhumanly fast perfect robot holding the volume knob on the amp where the other feed is going. As the robot sees the light brighten, he turns the volume up accordingly. Light off = no volume change. Brightest light = greatest volume increase.
 
For those of you who don't like metaphors with lights and robots:

y = processed audio amplitude
x = original unprocessed amplitude
T = threshold
R = compression ratio

if (x < T){
y = x + (T-x)*R
}else{
y = x
}
 
With an expander or compressor you are either increasing the dynamic range or decreasing it. This can be done either above or below the threshold.

Are you defining an upward compressor as a compressor which lowers levels below threshold and then applies makeup gain only to the signal below threshold?
First paragraph correct. Second paragraph not so much. ;)

True upward compression is the mirror image of standard downward compression with the threshold being the mirror. It's not a simple gain change, it's still a compression of dynamic range by a ratio of x:1 where x > 1, just like downward compression, but instead of compressing what is above the threshold down towards the threshold, it compress what is below the threshold upwards towards the threshold.

Many people confuse that with expansion, but it's not. It's still compression because it's still compressing the dynamic range of the targeted part of the signal. Expansion (upward or downward) is an inversion of the compression ratio i.e. 1:x, where x > 1. There, the dynamic range is expanded by the designated ratio, and whether it's upward expansion or downward expansion depends upon whether it's expanding the dynamic range of what is above the threshold or below it.

Tom, if you're familiar with the original dbx tape NR system, you're familiar with both upward compression and downward expansion, because it's a combo of the two that it used to do it's deed. What it did was upward compress the signal before it went to tape so that it recorded the upwardly compressed signal. This compressed the signal in a way that gave a maximum dynamic range between the lowest amplitude of the signal and the tape noise/hiss.

Then the dbx "decoder" that decoded the playback was a downward expander that re-expanded the tape signal at play back by the same amount of expansion by which it originally compressed it. This returned the signal on playback to it's original dynamics, but in the process it also managed to expand the tape noise way down to virtually inaudible levels. Simple, elegant and very effective as long as the compression/expansion circuitry did not color things too badly. Here is a rough schematic of how the early dbx NR for tape worked:

dbx_nr.jpg


Hope that helps.

EDIT: What I have found, I believe, is that why so many people have such problems understanding this stuff is because the idea of "compression" as automatically meaning downward compression has become so ingrained - mostly because of the large proliferation of analog downward compression boxes - that the idea of compression being able to go in the other direction becomes foreign-sounding. But if one just takes the word "compression" at face value, simply meaning a reduction of dynamic range towards the threshold without necessarily having to mean any specific direction towards the threshold, it all falls into place. It's a matter of overcoming the downward bias that we have all gotten used to.

It's just like the term "normalization". We all want to think that it automatically means peak level normalization, because that is the most common type that's offered, and when it's offered, it's usually simply called "normalization". But in reality there are many different ways to "normalize" a signal that aren't necessarily peak normalization.

"Normalization" in it's purest definition simply means conforming some property or properties of a signal to some standard. RMS normalization, frequency normalization, dynamic range normalization, even normalizing the length of songs, are all ways in which a signal could be normalized.

It's the same (in a way) with compression/expansion. One can compress or expand dynamic range a few different ways, only one of which is the conventional downward compression that we are all used to.

G.
 
Last edited:
Glen, sorry but I'm still not getting the connection here.

Companding as I understand it (and in your diagram) compresses the signal at a 2:1 ratio (read downward compression) then raises the gain (read makeup gain) in order to get a hotter signal to tape. The signal is then expanded to reproduce the original signal but with a better S/N ratio than would occur without the process.

If one were to add the compressed signal back to the original in this process in order to raise lower levels up we have a form of parallel compression again.

At any rate the OP may want to look at the Sonnox inflater which uses a different technique than compression or expansion:

http://www.sonnoxplugins.com/pub/plugins/products/Inflator-Tech_Detail.htm
 
Well you had to go and ask didn't you :laughings:

I was only asking if anybody knew of any, I didn't expect a bunch of you to
get together in a waves-esque conference in an attempt to build one :P

Ok, so how I'm understanding the theory is that:

Downwards compression will compress any signal above a threshold by a ratio,
for example, a ratio of 3:1 will mean that for every 3dB that goes above the
threshold, the signal will be attenuated so that 1dB is output.

Upwards compression will compress any signal below a threshold by a set ratio,
for example, a ratio of 3:1 will mean that for every 3dB that goes below
the threshold, the signal will be boosted so that -1dB is output.

Am I correct, or way off?
 
Can't you just automate your volume levels and get the same effect?
 
Can't you just automate your volume levels and get the same effect?

Very time consuming. And if that's all it took, there wouldn't be as much of a
need for compressors (these days anyway).

G, I thought that the dbx NR system just boosted the high end of the signal
before it hit tape, and then when the signal was on tape, attenuated the
high-end so that the hiss came down with it?

(sorry if that doesn't explain it fully)
 
Can't you just automate your volume levels and get the same effect?

Well, yeah, but that's the point of a compressor.
It's gain automation on a finer scale than you'd ever want to physically automate.
 
If one were to add the compressed signal back to the original in this process in order to raise lower levels up we have a form of parallel compression again.
Again, unless I'm also not making a connection, the difference between parallel compression and simple upward compression is what happens above the threshold setting. In parallel compression, the answer is "a wet/dry mix of downwards compressed and uncompressed versions of the signal." Whereas in simple upwards compression, the answer is, "nothing".

Let's say, just for illustration, that the OP's problematic piano notes are two notes at -13 and -16 dBFS. With upwards compression, one could set the threshold to -10dBFS and a compression ratio of 3:1, just for example, and those two notes would come out the other end at respective amplitudes of -11 and -12dBFS, and there would be zero change to the amplitudes or energy distribution of any if the signal exceeding the -10dBFS threshold.

One could synthesize part of that with downward compression followed by makeup gain as you say. Set the threshold to -19dBFS, downward compress by 3:1, and then apply a linear gain to the result of 6dB. But you'd also be affecting everything else in the signal above -19, all the way up to the peaks, and not just the stuff below -10.

Granted, when you go parallel, you wind up with a compression curve that tends to boost the lower level stuff and tends to leave the higher stuff alone, so the peaks themselves will not be changed much, if at all. But that curve has a very soft knee. That's fine if you're looking to boost the overall juice of a track. And I'm not saying there's anything wrong with that.

But it *is* different from simple upward correction which (unless you design a custom curve, which can be done with a dynamics processor) has a sharp cutoff at the threshold. It is a much more surgical approach when you are looking to target a specific slice of the dynamic range, like just a couple of errant notes or drum hits.

Additionally, though this admittedly goes a little beyond the OP, the tools that offer upward compression offer even more flexibility than just that. With Neodynum, you can set up to four different dynamics zones with virtually any combo of upward or downward compression or expansion. Additionally they can be applied to a user-defined custom EQ "key" curve, adding to the surgicality of the process. Similarly, with a dynamics processor, you can draw a custom expansion/compression curve to fit the track's needs like a glove.

So, all in all, yes, there is a difference in effect. But more than that, there's a difference in definition. Parallel compression employs downward compression to do it's thing, even if it's thing winds up being similar, if not exact, to what upward compression actually does.

G.
 
Can't you just automate your volume levels and get the same effect?
Not if it's coincident with another sound. If you wanted to enhance the pinky finger strike of a piano chord (just for a wild example), you can't automate your way around that. Additionally, just like with standard down compression for peak taming, if you have a multitude of weaknesses to address, automation can be quite time consuming. Sometimes it's worth it, but sometimes you;re better off just letting the compressor do the lion's share of the work for you, instead of automating fifty-seven little valleys into the fader.
G, I thought that the dbx NR system just boosted the high end of the signal
before it hit tape, and then when the signal was on tape, attenuated the
high-end so that the hiss came down with it?
It sounds like you might be trying to describe Dolby B/C, which lays down a high frequency bias signal onto the tape and then removes it on playback. the old dbx system was different (and, IMHO, quite superior).

G.
 
I was only asking if anybody knew of any, I didn't expect a bunch of you to
get together in a waves-esque conference in an attempt to build one :P

Ok, so how I'm understanding the theory is that:

Downwards compression will compress any signal above a threshold by a ratio,
for example, a ratio of 3:1 will mean that for every 3dB that goes above the
threshold, the signal will be attenuated so that 1dB is output.

Upwards compression will compress any signal below a threshold by a set ratio,
for example, a ratio of 3:1 will mean that for every 3dB that goes below
the threshold, the signal will be boosted so that -1dB is output.

Am I correct, or way off?
Bingo! :)

G.
 
It sounds like you might be trying to describe Dolby B/C, which lays down a high frequency bias signal onto the tape and then removes it on playback. the old dbx system was different (and, IMHO, quite superior).

G.

That I was :rolleyes: I knew I wasn't imagining things :D

I read about that Dynamizer plug-in you mentioned. Took me ages to get my
head around the theory of "not multiband, multi-range" processing. Neat idea.
I can't think of any situations I'd use it for. I'd prefer an individual make-up
gain for each range (or would that get a little too messy?)
 
Glen, I finally understand your definition better from that last post. It's also in line with Chibi's algorithm. Most people use parallel comp and upward compression interchangeably.

A slight mod to what Chibi posted:

s = signal
t = threshold
r = ratio
o = output
g = gain increase

if (s>=t) {
g=0
}
else {
g = s*r
}
o = s + g (Southside Glen)

Now I would like to figure out a way of implementing this using standard compression, gating, or expanding.

Perhaps another stupid DAW trick...
 
Neat idea. I can't think of any situations I'd use it for.
Ummm...how about the problem you opened this thread for? ;) That's exactly how I'd tackle it; the exact way I described a couple of times in this thread. A generic/native dynamics processor tool like I originally suggested would work just as well also - and I recommeded that because it's free and actually available - but I find the interface on Neodynum/Dynamizer to be much easier/better to work with.

G.
 
Back
Top