How to measure the dynamic range ?

Help for Audacity on macOS.
Forum rules
ImageThis forum is for Audacity on macOS 10.4 and later.
Please state which version of macOS you are using,
and the exact three-section version number of Audacity from "Audacity menu > About Audacity".


Audacity 1.2.x and 1.3.x are obsolete and no longer supported. If you still have those versions, please upgrade at https://www.audacityteam.org/download/.
The old forums for those versions are now closed, but you can still read the archives of the 1.2.x and 1.3.x forums.
chris2lamb
Posts: 22
Joined: Thu Jan 09, 2014 2:58 pm
Operating System: Please select

How to measure the dynamic range ?

Post by chris2lamb » Thu Jan 09, 2014 4:46 pm

Hi,

I am new using audacity 2.0.5 under os 10.9.1.

In a thesis work, I have to analyse background noises (cocktail party, 12 talker bable, pseudovoice...) used for hearing in noise tests. In particular, I am interested in the rms value and the dynamic range (variation of levels: min/max).

I have read the FAQ, looked into the forum for similar questions, goggled a lot but did'nt find a way to achieve that properly.

Any help appreciated (I would not want to have to buy a commercial software to achieve that)

Thanks in advance

Chris

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to measure the dynamic range ?

Post by steve » Thu Jan 09, 2014 5:18 pm

9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

chris2lamb
Posts: 22
Joined: Thu Jan 09, 2014 2:58 pm
Operating System: Please select

Re: How to measure the dynamic range ?

Post by chris2lamb » Sun Jan 12, 2014 3:22 pm

Thanks for your help

As I understood and tested the contrast tool, it will compare 2 sections (eg one with speech versus one with noise).

However my purpose is to caracterize only the background noise which is a 4 talker babble (rms; dynamic range: max level, min level).

I am not sure that the "contrast analyze" can do that or I don't how...

Correct me if I am wrong

TIA

Chris

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to measure the dynamic range ?

Post by steve » Sun Jan 12, 2014 4:29 pm

chris2lamb wrote:In particular, I am interested in the rms value and the dynamic range (variation of levels: min/max).
Select the quietest part of the recording and use this as the "background" level. This is the low end of the dynamic range.
Select the loudest part of the recording and use this as the "foreground" level. Thus is the high end of the dynamic range.
The difference of these two values is the dynamic range.
The value given by the "Contrast" tool is the RMS value.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: How to measure the dynamic range ?

Post by Robert J. H. » Sun Jan 12, 2014 6:23 pm

To me, the dynamic range is defined by the audio's bit depth, e.g. 0 dB to -96 dB (For 16 bit). The dynamic range for a specific audio file is therefore: the highest RMS value present minus the lowest representable, non-zero (-inf dB) RMS value.
For example:
24 bit with 6 dB head room:
-6 dB minus -144.5 dB = 138.5 dB Dynamic Range.
Note: this those are actually peak values, rather than RMS, just for simplicity sake

However, you are rather interested in a kind of signal-to-noise ratio.
The contrast tool would spit out this measure if you select the useful signal and then pure noise. This may give you a value of 40 dB difference.
Or you do it with fore- and background audio, in which case the difference will be less.

This measurement is misleading because the foreground has most likely quiet passages inbetween.

I think that the only senseful measurement is a histogram of all RMS values. You would simply count how many times a certain RMS value is present in the signal, if measured 100 times per second or so.
Something like:

Code: Select all

   0 dB -
 -10 dB |
- 20 dB |||
-30 dB ||
-40 dB |||
-50 dB|||
-60 dB ||
-70 dB ||||
-80 db ||||||
-inf  ||||||||| (the silent parts)
The local peaks should now represent the different layers, namely foreground, background, noise, silence (and dither noise) and perhaps more.
This is a statistical approach that is often taken to refine blind source separation, i.e. separating voice and ambient noise. It assumes that pure voice has a different distribution than other audio.

To make this curve comparable, you should provide different samles such as pure noise, pure environment noise, instrumental music, narrated texts and of course the files you actually want to analyze.

By the way, those tactics could also be employed for an "ideal", automatic dynamic compression for audio books and alike.

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to measure the dynamic range ?

Post by steve » Sun Jan 12, 2014 6:43 pm

Robert J. H. wrote:To me, the dynamic range is defined by the audio's bit depth, e.g. 0 dB to -96 dB (For 16 bit). The dynamic range for a specific audio file is therefore: the highest RMS value present minus the lowest representable, non-zero (-inf dB) RMS value.
That is a rule of thumb calculation for the dynamic range of an audio format.
Using dither, sounds that are less than this calculated value can be represented.
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

Robert J. H.
Posts: 3633
Joined: Thu May 31, 2012 8:33 am
Operating System: Windows 10

Re: How to measure the dynamic range ?

Post by Robert J. H. » Sun Jan 12, 2014 7:42 pm

steve wrote:
Robert J. H. wrote:To me, the dynamic range is defined by the audio's bit depth, e.g. 0 dB to -96 dB (For 16 bit). The dynamic range for a specific audio file is therefore: the highest RMS value present minus the lowest representable, non-zero (-inf dB) RMS value.
That is a rule of thumb calculation for the dynamic range of an audio format.
Using dither, sounds that are less than this calculated value can be represented.
All those calculations are pure mathematical playing around, especially if we deal with digital data.

Heisenberg's uncertainty principle strikes wherever it wants...

chris2lamb
Posts: 22
Joined: Thu Jan 09, 2014 2:58 pm
Operating System: Please select

Re: How to measure the dynamic range ?

Post by chris2lamb » Sun Jan 12, 2014 7:59 pm

Thanks for your replies.

I think I didn't explain enough clearly the situation:

In a speech in noise hearing test, the subject hears speech material (sentence, word...) with a competing background noise. Depending on the SNR, the task is more or less easy.

Historically, steady state noise or equivalent (speech noise) were used because as they were no variation of level, it was easy to calibrate (and precise and small SNR could be used.

We know that introducing temporal fluctuations increases the intelligility of speech in noise. However if the background noise "fluctuates" too much there is a risk of lack of reproductibility of test retest especially at low SNRs.

I have a background which has been constructed with four talkers (2 french, 2 english speakers) and I would like to caracterize this background noise to be sure that it fullfills the above criteria. It is not possible to select a part of the background noise to compare it to another part.

Thanks for the help

steve
Site Admin
Posts: 81627
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to measure the dynamic range ?

Post by steve » Mon Jan 13, 2014 12:09 am

chris2lamb wrote:I have a background which has been constructed with four talkers (2 french, 2 english speakers) and I would like to caracterize this background noise to be sure that it fullfills the above criteria.
You will need to explain that. I've shown how to measure RMS levels, which is what you initially asked for, but if that is not what you want to measure then what is it that you want to measure?
9/10 questions are answered in the FREQUENTLY ASKED QUESTIONS (FAQ)

chris2lamb
Posts: 22
Joined: Thu Jan 09, 2014 2:58 pm
Operating System: Please select

Re: How to measure the dynamic range ?

Post by chris2lamb » Mon Jan 13, 2014 1:28 pm

steve wrote:Select the quietest part of the recording and use this as the "background" level. This is the low end of the dynamic range.
Select the loudest part of the recording and use this as the "foreground" level. Thus is the high end of the dynamic range.
The difference of these two values is the dynamic range.
The value given by the "Contrast" tool is the RMS value.
It is nearly impossible to select manually a quietest part and a loudest part within this babble since it has been constructed to be a continuous multitalker babble with normally "low" variations of levels. If there is too many variations of levels in the background noise, it is then difficult to test the hearing of speech at small signal/noise ratios.

I just want to check the amount of these variations what I called dynamic range by assimilation to what we say concerning the normal dynamic range oh hearing (0-120 dB Heraing Level). It is certainly not an adequate term for audacity gurus. Sorry about that! but the difference between the quietest and the loudest parts of the recording is exactly what I want to measure.

Post Reply