A Lesson in Dynamic Range (or Why 32 Bits per Sample Should Never Catch On)

Anywhere you go, you will be able to find people who will insist that more is better. Bigger cars, larger portions, and more bits in your audio samples. But we thinking people know that there is such as too much of a good thing, don't we? I refer, of course, to having too many audio sample bits. 

The amount of bits in a number determines the allowable range of that number.  Each bit you add doubles the maximum number.  Each bit also doubles the ratio between the maximum value and the granularity.  This ratio, remember, is the dynamic range of the signal, and is measured in dB.  Since each bit is a doubling, and each doubling adds 6.02dB (we'll just call it 6 - it makes the math easier), then the dynamic range of a digital signal is equal to numberOfBitsPerSample * 6dB.  For 8bit audio, that's 48dB.  Sixteen-bit samples have 96dB, which is nearly our range of normal hearing.

Okay, so we can find a dB value.  But how does this apply to the real world?  A raw dB value is nothing more than a ratio between two numbers, and isn't generally all that useful.  In order to make it a meaningful measurement, we have to specify a well-known value against which we're comparing the measurement.  This value is called the reference level.  We then speak of a measurement in dBxyz, where xyz specifies the reference.  For example, you might see a voltage measured in dBV, which is the ratio to 1.0 Volts RMS.  In the digital world, you often see dBFS, or decibels relative to digital Full Scale.  In an earlier post, I used the term "dBSPL" without defining it (and got called out for it - Thanks, Steve).  Well, As TommyK helpfully points out, dBSPL is air pressure relative to 0.00002 Pascals - the threshhold of hearing.  This makes dBSPL a very useful measurement for sounds in air.

So let's consider an audiophile's dream - a 32-bit-per-sample signal.  Now consider an ultimate amplifier and speaker that can take advantage of all 32-bits in air.  First of all You want to set the lowest bit at 0dBSPL.  Anything lower would not only be below the threshhold of hearing even at 3kHz (the most sensitive point), but would also be drowned out by the noise of random air molecules bouncing off of your speaker.  So if the low-end is at 0dBSPL, what's the high-end of 32 bits?  From our equation above, 32 bits per sample provides a 192dB dynamic range.  Overkill?  The threshhold of pain is about 120dBSPL, and it's generally accepted that being exposed to over 140dBSPL will result in permanent hearing damage.

Put another way, 0.00002 Pa + 192dB works out to be about 85kPa.  One atmosphere of pressure is 101.325kPa.  When our ultimate amp/speaker plays Mozart at full-scale, it create a sound pressure wave capable of moving nearly the whole atmosphere several thousand times per second.  Standing in that mosh pit is a good way to come down with an instantly lethal case of the bends.  The word 'explode' also comes to mind.

On the plus side, I guess you won't really have to worry about hearing damage afterward.