Discussion:
[music-dsp] computing compressor automatic makeup gain (?)
Ross Bencina
2009-08-23 12:35:26 UTC
Permalink
Hi Everyone

This question was asked here a few years back but without a clear answer.

I'm wondering whether there's a standard (or preferred) way to calculate the
amount of automatic makeup gain required in a compressor, given a particular
threshold/ratio/compression curve. I realise that the concept of automatic
makeup is problematic, but enough compressors offer the feature that there
must at least be known approaches to implementing it.

I assume that its done by calculating the amount of gain required to make an
input of XdB have the same output level. I'm not sure what X should be
though, 0db?

E.g. With a hard-knee compressor, threshold at -10dB, ratio of 2:1,
compressing a 0dB input would give a -5dB output, and therefore the
automatic makeup gain should be +5dB. Does that sound correct/incorrect to
anyone?

I'd be interested to hear about alternative approaches or whether anyone
knows the actual reference levels for auto makeup gain in hardware
compressors.

Thanks!

Ross.
Martin Eisenberg
2009-08-29 12:50:03 UTC
Permalink
Post by Ross Bencina
I'm wondering whether there's a standard (or preferred) way to
calculate the amount of automatic makeup gain required in a
compressor, given a particular threshold/ratio/compression
curve.
I'm not that good with compressors but FWIW, I always thought
that makeup gain basically converts downward compression into
upward compression, which is what you described with a 0 dB
fixpoint.


Martin
Tom Duffy
2009-08-31 16:27:02 UTC
Permalink
The way it is implemented in TASCAM products:

Calculate the amount of gain reduction would be applied to a 0dBFS
signal.
Halve that.
Add it.

e.g. At Threshold = -20dB, with 2:1 compression, a 0dB signal would
be reduced by 10dB. Therefore the auto makeup gain applied would be
5dB.
This method was found empirically to maintain perceived loudness
over a range of thresholds and ratios.
In your example, making up the entire gain to bring 0dB back to
where it was results in an overly "loud" signal.

There are more complicated things you could do by including the
attack and release times into the equation. A faster attack means
the loudness will be reduced more for the same threshold and
ratio settings, therefore more automatic gain is OK.
at Attack = 0ms, maybe a 100% makeup would sound OK.

Tom

-------- Original Message --------
Subject: [music-dsp] computing compressor automatic makeup gain (?)
From: Ross Bencina <rossb-***@audiomulch.com>
To: A discussion list for music-related DSP <music-***@music.columbia.edu>
Date: 8/23/2009 5:35 AM

Hi Everyone

This question was asked here a few years back but without a clear answer.

I'm wondering whether there's a standard (or preferred) way to calculate
the
amount of automatic makeup gain required in a compressor, given a
particular
threshold/ratio/compression curve. I realise that the concept of automatic
makeup is problematic, but enough compressors offer the feature that there
must at least be known approaches to implementing it.

I assume that its done by calculating the amount of gain required to
make an
input of XdB have the same output level. I'm not sure what X should be
though, 0db?

E.g. With a hard-knee compressor, threshold at -10dB, ratio of 2:1,
compressing a 0dB input would give a -5dB output, and therefore the
automatic makeup gain should be +5dB. Does that sound correct/incorrect to
anyone?

I'd be interested to hear about alternative approaches or whether anyone
knows the actual reference levels for auto makeup gain in hardware
compressors.

Thanks!

Ross.

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


NOTICE: This electronic mail message and its contents, including any attachments hereto (collectively, "this e-mail"), is hereby designated as "confidential and proprietary." This e-mail may be viewed and used only by the person to whom it has been sent and his/her employer solely for the express purpose for which it has been disclosed and only in accordance with any confidentiality or non-disclosure (or similar) agreement between TEAC Corporation or its affiliates and said employer, and may not be disclosed to any other person or entity.  
 




 
Hannes Löschke
2009-09-01 14:18:39 UTC
Permalink
Isn't the general aim of compression to get a louder signal?

The naive approach would be to adjust the gain in a way that 0dB input comes out at 0dB output by apllying the maximum gain reduction. In that case all the attacks would be pushed over 0dB into your (hopefully existing) headroom an possibly cause clipping.

Applying half the maximum gain reduction sounds like an attemt to prevent attacks from clipping for a reasonable range of attack times and signals. I don't know any TASCAM compresors, but maintaining percveived loudness doesn't sound like a sensible goal for automatic gain adjustments in compressors to me.

Taking attack time into account depends on the signal you use. Send an impulse through the compressor and any setting apart from 0ms schould essentially pass the impulse unchanged. Any automatic gain makeup would cause clipping in for an impulse.


Hannes



----- Ursprüngliche Mail ----
Von: Tom Duffy <***@tascam.com>
An: A discussion list for music-related DSP <music-***@music.columbia.edu>
Gesendet: Montag, den 31. August 2009, 18:27:02 Uhr
Betreff: Re: [music-dsp] computing compressor automatic makeup gain (?)

The way it is implemented in TASCAM products:

Calculate the amount of gain reduction would be applied to a 0dBFS
signal.
Halve that.
Add it.

e.g. At Threshold = -20dB, with 2:1 compression, a 0dB signal would
be reduced by 10dB. Therefore the auto makeup gain applied would be
5dB.
This method was found empirically to maintain perceived loudness
over a range of thresholds and ratios.
In your example, making up the entire gain to bring 0dB back to
where it was results in an overly "loud" signal.

There are more complicated things you could do by including the
attack and release times into the equation. A faster attack means
the loudness will be reduced more for the same threshold and
ratio settings, therefore more automatic gain is OK.
at Attack = 0ms, maybe a 100% makeup would sound OK.

Tom

-------- Original Message --------
Subject: [music-dsp] computing compressor automatic makeup gain (?)
From: Ross Bencina <rossb-***@audiomulch.com>
To: A discussion list for music-related DSP <music-***@music.columbia.edu>
Date: 8/23/2009 5:35 AM

Hi Everyone

This question was asked here a few years back but without a clear answer.

I'm wondering whether there's a standard (or preferred) way to calculate
the
amount of automatic makeup gain required in a compressor, given a
particular
threshold/ratio/compression curve. I realise that the concept of automatic
makeup is problematic, but enough compressors offer the feature that there
must at least be known approaches to implementing it.

I assume that its done by calculating the amount of gain required to
make an
input of XdB have the same output level. I'm not sure what X should be
though, 0db?

E.g. With a hard-knee compressor, threshold at -10dB, ratio of 2:1,
compressing a 0dB input would give a -5dB output, and therefore the
automatic makeup gain should be +5dB. Does that sound correct/incorrect to
anyone?

I'd be interested to hear about alternative approaches or whether anyone
knows the actual reference levels for auto makeup gain in hardware
compressors.

Thanks!

Ross.

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


NOTICE: This electronic mail message and its contents, including any attachments hereto (collectively, "this e-mail"), is hereby designated as "confidential and proprietary." This e-mail may be viewed and used only by the person to whom it has been sent and his/her employer solely for the express purpose for which it has been disclosed and only in accordance with any confidentiality or non-disclosure (or similar) agreement between TEAC Corporation or its affiliates and said employer, and may not be disclosed to any other person or entity.
Tom Duffy
2009-09-01 16:33:13 UTC
Permalink
(sorry for top-post style, that's all I'm set up to do)

A compressor's role is to change (generally reduce) the dynamic range
of a signal.
Without any gain, setting the threshold low (e.g. -40dB) and setting
the compression ratio high, e.g. 1:100, the output signal will be mostly
40dB lower than the input signal. That's not a louder signal.
Adding 40dB of gain now gives you peaks over the prior signal signal
level, depending on the attack speed.

"Mastering Loudness" is achieved by making the peaks meet 0dBFS,
after you've reduced the dynamic range; it's a simple gain stage
after a compressor.
"Loudness" in the last 10 years or so has been also achieved by
letting the peaks go above 0dBFS and simply chopping them off, which
is a high distortion (therefore non-musical) transformation.

There is no sense in sending impulses through a compressor, it is
by definition a non-linear system, that would tell you nothing about
it.

Compression as a tool for managing high dynamic range signals during
recording (e.g. TASCAM products) is different from compression as a
component in "making things louder".

In general, you don't want to have to adjust the gain every time you
change the compressor settings, so keeping the perceived level about
the same eliminates some of the "louder sounds better, quieter
sounds worse" psychoacoustic effect, and lets you concentrate on the
dynamics of the signal you are working on.

Tom.

-------- Original Message --------
Subject: Re: [music-dsp] computing compressor automatic makeup gain (?)
From: Hannes Löschke <***@yahoo.de>
To: A discussion list for music-related DSP <music-***@music.columbia.edu>
Date: 9/1/2009 7:18 AM

Isn't the general aim of compression to get a louder signal?

The naive approach would be to adjust the gain in a way that 0dB input
comes out at 0dB output by apllying the maximum gain reduction. In that
case all the attacks would be pushed over 0dB into your (hopefully
existing) headroom an possibly cause clipping.

Applying half the maximum gain reduction sounds like an attemt to
prevent attacks from clipping for a reasonable range of attack times and
signals. I don't know any TASCAM compresors, but maintaining percveived
loudness doesn't sound like a sensible goal for automatic gain
adjustments in compressors to me.

Taking attack time into account depends on the signal you use. Send an
impulse through the compressor and any setting apart from 0ms schould
essentially pass the impulse unchanged. Any automatic gain makeup would
cause clipping in for an impulse.


Hannes



----- Ursprüngliche Mail ----
Von: Tom Duffy <***@tascam.com>
An: A discussion list for music-related DSP <music-***@music.columbia.edu>
Gesendet: Montag, den 31. August 2009, 18:27:02 Uhr
Betreff: Re: [music-dsp] computing compressor automatic makeup gain (?)

The way it is implemented in TASCAM products:

Calculate the amount of gain reduction would be applied to a 0dBFS
signal.
Halve that.
Add it.

e.g. At Threshold = -20dB, with 2:1 compression, a 0dB signal would
be reduced by 10dB. Therefore the auto makeup gain applied would be
5dB.
This method was found empirically to maintain perceived loudness
over a range of thresholds and ratios.
In your example, making up the entire gain to bring 0dB back to
where it was results in an overly "loud" signal.

There are more complicated things you could do by including the
attack and release times into the equation. A faster attack means
the loudness will be reduced more for the same threshold and
ratio settings, therefore more automatic gain is OK.
at Attack = 0ms, maybe a 100% makeup would sound OK.

Tom

-------- Original Message --------
Subject: [music-dsp] computing compressor automatic makeup gain (?)
From: Ross Bencina <rossb-***@audiomulch.com>
To: A discussion list for music-related DSP <music-***@music.columbia.edu>
Date: 8/23/2009 5:35 AM

Hi Everyone

This question was asked here a few years back but without a clear answer.

I'm wondering whether there's a standard (or preferred) way to calculate
the
amount of automatic makeup gain required in a compressor, given a
particular
threshold/ratio/compression curve. I realise that the concept of automatic
makeup is problematic, but enough compressors offer the feature that there
must at least be known approaches to implementing it.

I assume that its done by calculating the amount of gain required to
make an
input of XdB have the same output level. I'm not sure what X should be
though, 0db?

E.g. With a hard-knee compressor, threshold at -10dB, ratio of 2:1,
compressing a 0dB input would give a -5dB output, and therefore the
automatic makeup gain should be +5dB. Does that sound correct/incorrect to
anyone?

I'd be interested to hear about alternative approaches or whether anyone
knows the actual reference levels for auto makeup gain in hardware
compressors.

Thanks!

Ross.

--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


NOTICE: This electronic mail message and its contents, including any
attachments hereto (collectively, "this e-mail"), is hereby designated
as "confidential and proprietary." This e-mail may be viewed and used
only by the person to whom it has been sent and his/her employer solely
for the express purpose for which it has been disclosed and only in
accordance with any confidentiality or non-disclosure (or similar)
agreement between TEAC Corporation or its affiliates and said employer,
and may not be disclosed to any other person or entity.






--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp




--
dupswapdrop -- the music-dsp mailing list and website:
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp


NOTICE: This electronic mail message and its contents, including any attachments hereto (collectively, "this e-mail"), is hereby designated as "confidential and proprietary." This e-mail may be viewed and used only by the person to whom it has been sent and his/her employer solely for the express purpose for which it has been disclosed and only in accordance with any confidentiality or non-disclosure (or similar) agreement between TEAC Corporation or its affiliates and said employer, and may not be disclosed to any other person or entity.  
 




 
Kevin Dixon
2009-09-03 05:25:17 UTC
Permalink
Thanks for the insight Tom, as a bassist and engineer, I would agree
with your (and TASCAM's) assessment of how this should work

-Kevin
Post by Tom Duffy
(sorry for top-post style, that's all I'm set up to do)
A compressor's role is to change (generally reduce) the dynamic range
of a signal.
Without any gain, setting the threshold low (e.g. -40dB) and setting
the compression ratio high, e.g. 1:100, the output signal will be mostly
40dB lower than the input signal. That's not a louder signal.
Adding 40dB of gain now gives you peaks over the prior signal signal
level, depending on the attack speed.
"Mastering Loudness" is achieved by making the peaks meet 0dBFS,
after you've reduced the dynamic range; it's a simple gain stage
after a compressor.
"Loudness" in the last 10 years or so has been also achieved by
letting the peaks go above 0dBFS and simply chopping them off, which
is a high distortion (therefore non-musical) transformation.
There is no sense in sending impulses through a compressor, it is
by definition a non-linear system, that would tell you nothing about
it.
Compression as a tool for managing high dynamic range signals during
recording (e.g. TASCAM products) is different from compression as a
component in "making things louder".
In general, you don't want to have to adjust the gain every time you
change the compressor settings, so keeping the perceived level about
the same eliminates some of the "louder sounds better, quieter
sounds worse" psychoacoustic effect, and lets you concentrate on the
dynamics of the signal you are working on.
Tom.
-------- Original Message --------
Subject: Re: [music-dsp] computing compressor automatic makeup gain (?)
Date: 9/1/2009 7:18 AM
Isn't the general aim of compression to get a louder signal?
The naive approach would be to adjust the gain in a way that 0dB input
comes out at 0dB output by apllying the maximum gain reduction. In that
case all the attacks would be pushed over 0dB into your (hopefully
existing) headroom an possibly cause clipping.
Applying half the maximum gain reduction sounds like an attemt to
prevent attacks from clipping for a reasonable range of attack times and
signals. I don't know any TASCAM compresors, but maintaining percveived
loudness doesn't sound like a sensible goal for automatic gain
adjustments in compressors to me.
Taking attack time into account depends on the signal you use. Send an
impulse through the compressor and any setting apart from 0ms schould
essentially pass the impulse unchanged. Any automatic gain makeup would
cause clipping in for an impulse.
Hannes
----- Ursprüngliche Mail ----
Gesendet: Montag, den 31. August 2009, 18:27:02 Uhr
Betreff: Re: [music-dsp] computing compressor automatic makeup gain (?)
Calculate the amount of gain reduction would be applied to a 0dBFS
signal.
Halve that.
Add it.
e.g. At Threshold = -20dB, with 2:1 compression, a 0dB signal would
be reduced by 10dB. Therefore the auto makeup gain applied would be
5dB.
This method was found empirically to maintain perceived loudness
over a range of thresholds and ratios.
In your example, making up the entire gain to bring 0dB back to
where it was results in an overly "loud" signal.
There are more complicated things you could do by including the
attack and release times into the equation. A faster attack means
the loudness will be reduced more for the same threshold and
ratio settings, therefore more automatic gain is OK.
at Attack = 0ms, maybe a 100% makeup would sound OK.
Tom
-------- Original Message --------
Subject: [music-dsp] computing compressor automatic makeup gain (?)
Date: 8/23/2009 5:35 AM
Hi Everyone
This question was asked here a few years back but without a clear answer.
I'm wondering whether there's a standard (or preferred) way to calculate the
amount of automatic makeup gain required in a compressor, given a particular
threshold/ratio/compression curve. I realise that the concept of automatic
makeup is problematic, but enough compressors offer the feature that there
must at least be known approaches to implementing it.
I assume that its done by calculating the amount of gain required to make an
input of XdB have the same output level. I'm not sure what X should be
though, 0db?
E.g. With a hard-knee compressor, threshold at -10dB, ratio of 2:1,
compressing a 0dB input would give a -5dB output, and therefore the
automatic makeup gain should be +5dB. Does that sound correct/incorrect to
anyone?
I'd be interested to hear about alternative approaches or whether anyone
knows the actual reference levels for auto makeup gain in hardware
compressors.
Thanks!
Ross.
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
NOTICE: This electronic mail message and its contents, including any
attachments hereto (collectively, "this e-mail"), is hereby designated
as "confidential and proprietary." This e-mail may be viewed and used
only by the person to whom it has been sent and his/her employer solely
for the express purpose for which it has been disclosed and only in
accordance with any confidentiality or non-disclosure (or similar)
agreement between TEAC Corporation or its affiliates and said employer,
and may not be disclosed to any other person or entity.
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
NOTICE: This electronic mail message and its contents, including any attachments hereto (collectively, "this e-mail"), is hereby designated as "confidential and proprietary." This e-mail may be viewed and used only by the person to whom it has been sent and his/her employer solely for the express purpose for which it has been disclosed and only in accordance with any confidentiality or non-disclosure (or similar) agreement between TEAC Corporation or its affiliates and said employer, and may not be disclosed to any other person or entity.
--
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
robert bristow-johnson
2009-09-03 15:03:15 UTC
Permalink
Post by Kevin Dixon
Thanks for the insight Tom, as a bassist and engineer, I would agree
with your (and TASCAM's) assessment of how this should work
Post by Tom Duffy
A compressor's role is to change (generally reduce) the dynamic range
of a signal.
Without any gain, setting the threshold low (e.g. -40dB) and setting
the compression ratio high, e.g. 1:100, the output signal will be mostly
40dB lower than the input signal. That's not a louder signal.
Adding 40dB of gain now gives you peaks over the prior signal signal
level, depending on the attack speed.
"Mastering Loudness" is achieved by making the peaks meet 0dBFS,
after you've reduced the dynamic range; it's a simple gain stage
after a compressor.
"Loudness" in the last 10 years or so has been also achieved by
letting the peaks go above 0dBFS and simply chopping them off, which
is a high distortion (therefore non-musical) transformation.
There is no sense in sending impulses through a compressor, it is
by definition a non-linear system, that would tell you nothing about
it.
this last statement, i cannot agree with. i look at compressors and
limiters as being the same species of animal.

if your compressor or limiter is acting on peak amplitude rather than
r.m.s., sending in impulses that exceed the threshold or knee will
tell you much more than nothing about what the compressor is doing.

being a non-linear system means that the impulse response cannot tell
you how the device will respond to all other inputs. for a linear
time-invariant system, the impulse response is sufficient to tell you
how the system will behave for any general input.
Post by Kevin Dixon
Post by Tom Duffy
Compression as a tool for managing high dynamic range signals during
recording (e.g. TASCAM products) is different from compression as a
component in "making things louder".
how are they different *qualitatively*? different attack and release
times, different mapping curve, different overall gain.

a multiband compressor is qualitatively different, but i might
imagine such used in either situation.
Post by Kevin Dixon
Post by Tom Duffy
In general, you don't want to have to adjust the gain every time you
change the compressor settings, so keeping the perceived level about
the same eliminates some of the "louder sounds better, quieter
sounds worse" psychoacoustic effect, and lets you concentrate on the
dynamics of the signal you are working on.
it seems to me that the issue is whether you want to tack down the
knee or corner to a certain level, or if you want to tack down 0 dB
FS, or somewhere in between. but those are settings; i don't see the
qualitative difference.


--

r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Didier Dambrin
2009-09-03 15:21:30 UTC
Permalink
IMHO the only difference between a compressor and a limiter is the
lookahead/latency. A limiter absolutely requires one to do its job properly,
a compressor can exist without (but will then start acting as an expander).
A limiter must also work with peaks, not RMS. So I'd class a limiter as a
compressor with more strict requirements.
Post by robert bristow-johnson
Post by Kevin Dixon
Thanks for the insight Tom, as a bassist and engineer, I would agree
with your (and TASCAM's) assessment of how this should work
Post by Tom Duffy
A compressor's role is to change (generally reduce) the dynamic range
of a signal.
Without any gain, setting the threshold low (e.g. -40dB) and setting
the compression ratio high, e.g. 1:100, the output signal will be mostly
40dB lower than the input signal. That's not a louder signal.
Adding 40dB of gain now gives you peaks over the prior signal signal
level, depending on the attack speed.
"Mastering Loudness" is achieved by making the peaks meet 0dBFS,
after you've reduced the dynamic range; it's a simple gain stage
after a compressor.
"Loudness" in the last 10 years or so has been also achieved by
letting the peaks go above 0dBFS and simply chopping them off, which
is a high distortion (therefore non-musical) transformation.
There is no sense in sending impulses through a compressor, it is
by definition a non-linear system, that would tell you nothing about
it.
this last statement, i cannot agree with. i look at compressors and
limiters as being the same species of animal.
if your compressor or limiter is acting on peak amplitude rather than
r.m.s., sending in impulses that exceed the threshold or knee will
tell you much more than nothing about what the compressor is doing.
being a non-linear system means that the impulse response cannot tell
you how the device will respond to all other inputs. for a linear
time-invariant system, the impulse response is sufficient to tell you
how the system will behave for any general input.
Post by Kevin Dixon
Post by Tom Duffy
Compression as a tool for managing high dynamic range signals during
recording (e.g. TASCAM products) is different from compression as a
component in "making things louder".
how are they different *qualitatively*? different attack and release
times, different mapping curve, different overall gain.
a multiband compressor is qualitatively different, but i might
imagine such used in either situation.
Post by Kevin Dixon
Post by Tom Duffy
In general, you don't want to have to adjust the gain every time you
change the compressor settings, so keeping the perceived level about
the same eliminates some of the "louder sounds better, quieter
sounds worse" psychoacoustic effect, and lets you concentrate on the
dynamics of the signal you are working on.
it seems to me that the issue is whether you want to tack down the
knee or corner to a certain level, or if you want to tack down 0 dB
FS, or somewhere in between. but those are settings; i don't see the
qualitative difference.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--------------------------------------------------------------------------------



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.409 / Virus Database: 270.13.76/2343 - Release Date: 09/03/09
05:50:00
Bogac Topaktas
2009-09-03 20:34:51 UTC
Permalink
Post by robert bristow-johnson
if your compressor or limiter is acting on peak amplitude rather than
r.m.s., sending in impulses that exceed the threshold or knee will
tell you much more than nothing about what the compressor is doing.
But it can not reveal any clue about program dependent behavior.
Post by robert bristow-johnson
being a non-linear system means that the impulse response cannot tell
you how the device will respond to all other inputs.
The key word here is "memory". Dynamic convolution can capture static
(i.e. memory-less) non-linear behavior but becomes totally useless when
it comes to dynamic non-linearities.
Post by robert bristow-johnson
how are they different *qualitatively*? different attack and release
times, different mapping curve, different overall gain.
All of them plus program dependent behavior, see the following articles for
full details:

"Analysis of Dynamic Range Control (DRC) Devices"
http://www.uaudio.com/webzine/2006/september/index2.html

"What is it about the 1176LN and LA2A that makes them
distinctive-sounding?
How can the distinctive properties of these compressors be captured in a
digital emulation?"
http://www.uaudio.com/webzine/2004/february/index2.html
robert bristow-johnson
2009-09-04 15:18:51 UTC
Permalink
Post by Bogac Topaktas
Post by robert bristow-johnson
if your compressor or limiter is acting on peak amplitude rather than
r.m.s., sending in impulses that exceed the threshold or knee will
tell you much more than nothing about what the compressor is doing.
But it can not reveal any clue about program dependent behavior.
no clue at all??

i am not saying (nor have ever said) that the complete system
description can be obtained by driving the compressor/limiter with an
impulse or even a string of impulses (perhaps with different
heights). but you *can* get a clue about where the knee might be and
the compressor starts kicking in.

if you build a compressor/limiter (say, in software as a plug-in) you
have to test it with signals to see, regarding those test signals, if
the compressor does as it is expected to do. many test signals are
necessary, but if the compressor/limiter is supposed to prevent
spikes from exceeding the rails and getting clipped, to test that
behavior, what test signal do you suggest to try at first?
Post by Bogac Topaktas
Post by robert bristow-johnson
being a non-linear system means that the impulse response cannot tell
you how the device will respond to all other inputs.
The key word here is "memory". Dynamic convolution can capture static
(i.e. memory-less) non-linear behavior but becomes totally useless when
it comes to dynamic non-linearities.
saying "totally useless" is a very strong statement and hard to
defend. all i have to do is find a single use and it is refuted.
Post by Bogac Topaktas
Post by robert bristow-johnson
how are they different *qualitatively*? different attack and release
times, different mapping curve, different overall gain.
All of them plus program dependent behavior,
of course, there is program dependent behavior. it's a compressor.
i still do not get the point that the response of the compressor to a
well-defined impulse tells you *nothing* about how the compressor is
working. if it is peak-level detecting, it should detect that
impulse even if it is only one sample wide. if the height of that
impulse exceeds the knee threshold, what comes out should be
predictably adjusted in height. if you have a string of impulses of
increasing amplitude that are spaced far enough apart that the
compressor attack and release recover to their quiescent states, that
string of impulses can at least give you a *clue* about what the dB-
in vs. dB-out mapping function might be.

i think you may have reacted to something i never said (like an
impulse response completely describes the input-output behavior of
the box when it is not LTI), but i continue to maintain that claiming
that the response to an impulse provides *no* clue at all is an
overstatement.


--

r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Tom Duffy
2009-09-04 16:16:42 UTC
Permalink
Of course a series of impulses, properly calibrated and calculated,
would start
to characterize a compressor/limiter.

But, a single impulse tells you nothing.
When I am developing, debugging or analyzing an existing dynamics processor,
impulse responses are the last tool I would use, after a tone generator
and storage
scope, and probably a load of test wave files, .e.g. 1kHz tone at
-10dBFS for 5 seconds,
then 5 seconds silence, repeated, then different levels and then
different ramped
levels.

Tom.
Post by robert bristow-johnson
Post by Bogac Topaktas
Post by robert bristow-johnson
if your compressor or limiter is acting on peak amplitude rather than
r.m.s., sending in impulses that exceed the threshold or knee will
tell you much more than nothing about what the compressor is doing.
But it can not reveal any clue about program dependent behavior.
no clue at all??
i am not saying (nor have ever said) that the complete system
description can be obtained by driving the compressor/limiter with an
impulse or even a string of impulses (perhaps with different
heights). but you *can* get a clue about where the knee might be and
the compressor starts kicking in.
if you build a compressor/limiter (say, in software as a plug-in) you
have to test it with signals to see, regarding those test signals, if
the compressor does as it is expected to do. many test signals are
necessary, but if the compressor/limiter is supposed to prevent
spikes from exceeding the rails and getting clipped, to test that
behavior, what test signal do you suggest to try at first?
Post by Bogac Topaktas
Post by robert bristow-johnson
being a non-linear system means that the impulse response cannot tell
you how the device will respond to all other inputs.
The key word here is "memory". Dynamic convolution can capture static
(i.e. memory-less) non-linear behavior but becomes totally useless when
it comes to dynamic non-linearities.
saying "totally useless" is a very strong statement and hard to
defend. all i have to do is find a single use and it is refuted.
Post by Bogac Topaktas
Post by robert bristow-johnson
how are they different *qualitatively*? different attack and release
times, different mapping curve, different overall gain.
All of them plus program dependent behavior,
of course, there is program dependent behavior. it's a compressor.
i still do not get the point that the response of the compressor to a
well-defined impulse tells you *nothing* about how the compressor is
working. if it is peak-level detecting, it should detect that
impulse even if it is only one sample wide. if the height of that
impulse exceeds the knee threshold, what comes out should be
predictably adjusted in height. if you have a string of impulses of
increasing amplitude that are spaced far enough apart that the
compressor attack and release recover to their quiescent states, that
string of impulses can at least give you a *clue* about what the dB-
in vs. dB-out mapping function might be.
i think you may have reacted to something i never said (like an
impulse response completely describes the input-output behavior of
the box when it is not LTI), but i continue to maintain that claiming
that the response to an impulse provides *no* clue at all is an
overstatement.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Steffan Diedrichsen
2009-09-04 20:18:44 UTC
Permalink
Having developed some dynamic processors, I can say, that a response
to an impulse is not more than a simple test case. As you said,
Robert, it's great to check a Limiter. But it doesn't help to
characterize the compressor. As Tom said, a sine wave with variying
amplitudes reveals more. A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)

Anyway, to get back to the automatic gain, Tom's approach is quite
nice. But even a "fixed" automatic makeup (e.g. -12dB input level
results in -12dB output level) makes live easy. Setting the fix point
to 0dB causes the compressor to get louder, if you dive into the
signal with the threshold control. At -12dB, it's seems to be a good
compromise.

Best,

Steffan
Post by robert bristow-johnson
but i continue to maintain that claiming
that the response to an impulse provides *no* clue at all is an
overstatement.
Ross Bencina
2009-09-05 04:19:49 UTC
Permalink
That's interesting Steffan

I was playing with the Logic 5 Platinum compressor recently and it did seem
that the automatic makeup gain had the fix point set lower than 0dBFS...

On the other hand I received a message off list from someone who had worked
on some well-reputed mastering compression systems where the automatic
makeup gain fix point was 0dBFS.

On the subject of automatic analysis of compressor characteristics, the
following is one of the few papers I've found. It only presents preliminary
results but has an interesting methodology:

IDENTIFYING AND ANALYZING RELEVANT CHARACTERISTICS
OF DYNAMIC RANGE COMPRESSION
Andrés Cabrera
DAFx-06
http://www.dafx.ca/proceedings/papers/p_061.pdf

The UA web zine stuff that Bogac already posted is also good...


Bests

Ross.



----- Original Message -----
From: "Steffan Diedrichsen" <***@mac.com>
To: "A discussion list for music-related DSP" <music-***@music.columbia.edu>
Sent: Saturday, September 05, 2009 6:18 AM
Subject: Re: [music-dsp] computing compressor automatic makeup gain (?)
Post by Steffan Diedrichsen
Having developed some dynamic processors, I can say, that a response
to an impulse is not more than a simple test case. As you said,
Robert, it's great to check a Limiter. But it doesn't help to
characterize the compressor. As Tom said, a sine wave with variying
amplitudes reveals more. A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
Anyway, to get back to the automatic gain, Tom's approach is quite
nice. But even a "fixed" automatic makeup (e.g. -12dB input level
results in -12dB output level) makes live easy. Setting the fix point
to 0dB causes the compressor to get louder, if you dive into the
signal with the threshold control. At -12dB, it's seems to be a good
compromise.
Best,
Steffan
Post by robert bristow-johnson
but i continue to maintain that claiming
that the response to an impulse provides *no* clue at all is an
overstatement.
--
subscription info, FAQ, source code archive, list archive, book reviews,
dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
robert bristow-johnson
2009-09-05 06:33:19 UTC
Permalink
Post by Ross Bencina
That's interesting Steffan
no shit.
Post by Ross Bencina
Post by Steffan Diedrichsen
A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
i get it. thank you.

--

r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Steffan Diedrichsen
2009-09-08 16:24:36 UTC
Permalink
So, you guys,

who'll be @ 0xffth AES convention? I know, that Robert will be there,
won't you?
But who else?

Best,

Steffan
Post by robert bristow-johnson
Post by Ross Bencina
That's interesting Steffan
no shit.
Post by Ross Bencina
Post by Steffan Diedrichsen
A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
i get it. thank you.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
bastian.schnuerle
2009-09-08 16:30:17 UTC
Permalink
we gonna get a logic9 nfr or a macbook off50% if we are there ?
Post by Steffan Diedrichsen
So, you guys,
won't you?
But who else?
Best,
Steffan
Post by robert bristow-johnson
Post by Ross Bencina
That's interesting Steffan
no shit.
Post by Ross Bencina
Post by Steffan Diedrichsen
A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
i get it. thank you.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Steffan Diedrichsen
2009-09-08 16:37:37 UTC
Permalink
Am I Santa Claus? ;-)

At least the US AES members can take advantage of a sale special.
http://www.aes.org/e-news/2009/Sep3.cfm#apple

Best,

Steffan
Post by bastian.schnuerle
we gonna get a logic9 nfr or a macbook off50% if we are there ?
Post by Steffan Diedrichsen
So, you guys,
won't you?
But who else?
Best,
Steffan
Post by robert bristow-johnson
Post by Ross Bencina
That's interesting Steffan
no shit.
Post by Ross Bencina
Post by Steffan Diedrichsen
A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
i get it. thank you.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
bastian.schnuerle
2009-09-08 16:59:00 UTC
Permalink
hahaha
+
Post by Steffan Diedrichsen
Am I Santa Claus? ;-)
At least the US AES members can take advantage of a sale special.
http://www.aes.org/e-news/2009/Sep3.cfm#apple
Best,
Steffan
Post by bastian.schnuerle
we gonna get a logic9 nfr or a macbook off50% if we are there ?
Post by Steffan Diedrichsen
So, you guys,
won't you?
But who else?
Best,
Steffan
Post by robert bristow-johnson
Post by Ross Bencina
That's interesting Steffan
no shit.
Post by Ross Bencina
Post by Steffan Diedrichsen
A rectangular wave might have the advantage,
that the level detection converts it to DC. Might be useful, too.
'Nuff said. ;-)
i get it. thank you.
--
"Imagination is more important than knowledge."
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
--
subscription info, FAQ, source code archive, list archive, book
reviews, dsp links
http://music.columbia.edu/cmc/music-dsp
http://music.columbia.edu/mailman/listinfo/music-dsp
Al Clark
2009-09-08 17:17:36 UTC
Permalink
Post by Steffan Diedrichsen
So, you guys,
won't you?
But who else?
Best,
Steffan
Robert is giving a presentation on Monday. I think he is covering the
cookbook stuff. (Robert, this might be a good time to clarify if I have
it wrong)
I'll be there.

Al Clark
Danville Signal Processing
Christian-W. Budde
2009-09-04 23:12:43 UTC
Permalink
Hi there,
Post by robert bristow-johnson
i am not saying (nor have ever said) that the complete system
description can be obtained by driving the compressor/limiter with an
impulse or even a string of impulses (perhaps with different
heights). but you *can* get a clue about where the knee might be and
the compressor starts kicking in.
In case you have the algorithm in form of a VST plugin, you could use my
VST plugin analyser. It allows you to measure the characteristic curve
and other program related behaviour. (see
http://www.savioursofsoul.de/Christian/?page_id=48 at the bottom for a
Behringer compressor). Together with an ASIO-VST Plugin you can even
measure real hardware (like the Behringer compressor in this case).

Kind regards,

Christian
robert bristow-johnson
2009-09-08 22:37:28 UTC
Permalink
-----Original Message-----
From: "Al Clark" [***@danvillesignal.com]
Date: 09/08/2009 13:17
To: "A discussion list for music-related DSP" <music-***@music.columbia.edu>
Subject: Re: [music-dsp] computing 0xFFth AES convention?
Post by Al Clark
Robert is giving a presentation on Monday. I think he is covering the
cookbook stuff.
not exactly. it's a tutorial, so it's about pretty basic stuff that i might have thought would be more commonly employed.
Post by Al Clark
(Robert, this might be a good time to clarify if I have it wrong)
it's about how (and why bother) to design finite order polynomial approximations to functions, as opposed to look-up table (LUT) (with or without linear interpolation) which appears to be much more commonly employed. the use of these mappings could either be for the common "cook the coefficients" process between knob twists and what the DSP alg sees (like what is in the biquad filter cookbook), or it could be about memoryless non-linear functions that full-bandwidth audio signals are applied to. we know that simple LUT (especially without any interpolation) has the advantage of speed when little other consideration is made (lot'sa memory, maybe some index quantization error). but i would think that there it would be more common in hardware applications (where there might not be your trusty std C math lib or floating-point) for implementing functions with short finite power series. and truncated Taylor series is not such a good way to derive it.
Post by Al Clark
I'll be there.
i guess i have to be, now.

--

r b-j ***@audioimagination.com

"Imagination is more important than knowledge."
Richard Dobson
2009-09-08 22:51:21 UTC
Permalink
robert bristow-johnson wrote:
..
Post by robert bristow-johnson
it's about how (and why bother) to design finite order polynomial
approximations to functions, as opposed to look-up table (LUT) (with
or without linear interpolation) which appears to be much more
commonly employed.
...

Will there be an associated paper, or is it strictly off the record?


Richard Dobson
C***@laposte.net
2009-09-09 00:30:59 UTC
Permalink
Post by robert bristow-johnson
we know that simple LUT (especially without any interpolation)
has the advantage of speed when little other consideration is made (lot'sa
memory, maybe some index quantization error).
And even that is less and less true: converting floats to ints can be
expensive, so is memory access, and one can't efficiently read a LUT with the
most common SIMD instructions sets (SSE, altivec, ...). On the other hand,
multiply-add instructions keep getting cheaper.
robert bristow-johnson
2009-09-09 05:40:31 UTC
Permalink
Post by C***@laposte.net
Post by robert bristow-johnson
we know that simple LUT (especially without any interpolation)
has the advantage of speed when little other consideration is made (lot'sa
memory, maybe some index quantization error).
And even that is less and less true: converting floats to ints can be
expensive, so is memory access, and one can't efficiently read a LUT with the
most common SIMD instructions sets (SSE, altivec, ...). On the
other hand,
multiply-add instructions keep getting cheaper.
i dunno about these CPUs with float and int operations. i think the
SHArC had a fix instruction that made the conversion in a single
instruction cycle. (then the rigamarole you had to go through to get
the fractional part for linear interpolation was a pain-in-arse, i
think just converting the integer back to a float and subtracting
that out of the original float was the simplest in the SHArC to get
the fractional part.) with the 56K, it was just a matter of scaling
with the right scaler, and the integer part was in register a1 (that
would go to an index offset) with the fractional part in a0. with
the 56300, with sufficient pipelining, i can do table lookup with
linear interpolation in 8 instruction cycles. it's about 3
instructions per polynomial coef + overhead. a 6th-order polynomial
might take 25 instruction cycles.

--

r b-j ***@audioimagination.com

"Imagination is more important than knowledge."

Loading...