[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
dynamic range and sample bit depth
Dear auditory list,
I have been worried about an issue to do with sampling bit depth and
dynamic range for a while, and I have not yet been able to find a
definitive answer. Hopefully some of you may be able to shed some light
Essentially, the question revolves around the fact that with a digital
signal, when it is attenuated you lose information. For example, for a
signal with 16 bits per sample, if you attenuate by 20*log10(2^8)=48 dB
then the output will only be using 8 bits per sample. Having listened to
8 bit sounds, they are clearly of very poor quality. So, although it is
often written that the 'dynamic range' of 16 bit sound is 96 dB
(=20*log10(2^16)), at even 48 dB of attenuation the quality becomes
So some questions:
1. How many bits per sample do we need for a high quality encoding of a
sound without any attenuation?
2. How much dynamic range can we therefore get from standard audio
systems using 16 or 24 bits per sample?
3. Are we routinely using more than this dynamic range in our
experiments (and in musical recordings) and is this a problem for the
results of, for example, studies mixing normal and hearing impaired
4. Is there anything we can do about this?
Some more details:
The clearest thing I have managed to find on this subject so far is a
paper by Bob Stuart of Meridian Audio
concludes that if you have 19 bits per sample at a 52 kHz sample rate,
and you use dithering, and your audio system doesn't do any further
processing on the sound, then at 90 dB attenuation from the maximum
level you shouldn't hear any noise from the encoding (based on the
extremes of measured hearing thresholds). This suggests that using 20
bit audio you can probably get 96 dB of high quality dynamic range (see
below for why I mention 20 bit audio).
This doesn't take into account that many (most?) researchers are
probably not dithering their signals. As far as I can tell, Matlab's
wavplay and audioplayer functions do not use dithering, for example. So
how much dynamic range are we getting without introducing noise if we
don't use dithering? And are any of the commonly used packages for
playing sounds doing this dithering?
Note: I mentioned 20 bit audio because I have read that 24 bit DACs only
really use at most 22 bits of the signal, and due to thermal noise give
about 20 bits noise free. I worked with one system in the past that I
was told allowed you to select which 22 bits were used (although this
was hardware specific and had to be coded in at a very low level, not
using standard audio APIs).
I am very far from an expert on any of this, but what it seems like to
me is that we need to be using 24 bit audio and (very importantly)
dithering, and if so we can probably get 96 dB of high quality dynamic
range. It is possible that in some experimental setups, especially if
we're testing normal hearing and hearing impaired listeners across a
wide range of sounds on the same system, that we might be exceeding
this. If so, is there anything we can do?
Finally, any thoughts on the relevance for music / commercial audio? I
guess it is much less of an issue there since the problems only seem to
arise if you really push the limits of dynamic range.
Thanks in advance,