32 bit audio redux

In my previous post, I don't think I explained very well why a 32-bit signal wouldn't work on the low-end.  The point, I think, was well-taken on the high-end.  You don't want a 192 dBSPL audio signal applied to your body (or your planet, for that matter).  However, Tricky asks

Why have the 6.02 dB increment per bit? Why not reduce this amount, or make it variable?

I'm asking instead of going the standard way it's done 6.02dB per bit .. why not implement so that 32 bits per signal sample doesnt have to mean that you need to go up to 192dB.

That is, sample only the range of human hearing. low end is 1 dB ? and then the upper end .. 120 dB?

First of all, dB is a logarithmic scale.  Numbers on a dB scale represent the ratio between two values, not the difference.

dB = 20 * log10(n1/n2).

Each bit doubles the linear precision of the value.  20 * log10(2n / n) = 20 * log10(2) = 20 * 0.301 = 6.02.  The 6.02 dB per bit number is a mathematical conversion factor.  It is the same as asking to make 3600sec/hr a variable number.

What I think he is actually suggesting is to take the pressure level of 120dB (about 20 Pa) and divide it into 4 billion slices, each one about 0.005 µPa.  The reason I chose 20 µPa (0 dBSPL) as a base is actually an important one.  That is about the sound pressure level (broadband) exerted by garden-variety air molecules bouncing off of your speaker in Earth's atmosphere.  It also, coincidentally, is just about the smallest pressure change that a human ear is capable of perceiving.

Re-using our metaphor from the previous post, suppose the ultimate amp/speaker is actually capable of displacing exactly enough air to create a sound pressure wave of 0.005 µPa.  At the same time a stray air molecule could hit the speaker adding a random pressure oscillation to your signal at 100 times that level.  Even if your pickup device is sensitive enough to discern 0.005 µPa (obviously not talking about the human ear here), there will still be no way to separate the meaningful signal from atmospheric noise.  An audio signal more precise than atmospheric noise is meaningless, because the signal is lost in the random variations.  That is why 0 dBSPL is a good base for your step size.

Given that you never want a sound louder than 120 dBSPL (20 Pa), and that it's meaningless to get any finer resolution than 0 dBSPL (20 µPa), we can calculate how many steps we actually need for any audio signal we care to hear.  20 Pa / 20 µPa = 1000000 steps.  Taking the log2 of that, we end up with 19.93 bits (I don't know how to take a fractional bit, so let's round up to 20).  Therefore, you will never need more than 20 bits per sample to describe any audio to which you care to listen.

Published 23 August 06 04:44 by RyanBemrose
Filed under:

Comments

# Maurits said on August 23, 2006 8:36 PM:
What about sound waves in media other than air?
# Vorn said on August 28, 2006 2:46 PM:
Well, water has an even smaller dynamic range - the noise level inherent in it is much higher.  I imagine there is a correlation between medium density and noise level, but I couldn't tell you what it is.  And there's only so much pressure change your ears can stand.

Vorn
# Tristan said on January 12, 2007 4:48 AM:

What about 32-bit internal processing by a DAW such as Sonar? Would this increase the accuracy of DSP calculations in a way that they are more accurately represented at lower bit depths?

# Brandon P said on August 2, 2007 12:01 PM:

This is not entirely true.  If it were, 8 bit audio would sound just as good as 16 bit audio, as 99% of music recorded on CD has less than 48dB of dynamic range.

Also, if a 20 Hz tone were generated or normalized to -0dBfs (full scale digital), an equivalent 20 kHz tone would occupy 10 bits less.

That's right. A 20 kHz tone on a 16-bit CD only gets 6 bits of precision! (in the real world anyway.)

This debate will go on forever, or will it?

Once we get to bit-depths of 32 or 64 bits, and sample rates of 192, 384 or higher, it won't matter anymore.

# The Old New Thing said on December 31, 2007 11:53 AM:

Random stuff.

# MSDN Blog Postings » 2007 year-end link clearance said on December 31, 2007 12:27 PM:

PingBack from http://msdnrss.thecoderblogs.com/2007/12/31/2007-year-end-link-clearance/

# The Audio Fool : 32 bit audio redux | Music said on January 1, 2008 7:51 AM:

PingBack from http://music.247blogging.info/?p=2350

# The Old New Thing said on January 2, 2008 3:06 AM:

Random stuff.

# Digital Audio Series « xosfaere said on April 6, 2008 2:14 PM:

PingBack from http://xosfaere.wordpress.com/2007/07/06/digital-audio-series/

New Comments to this post are disabled

Search

This Blog

Syndication

Page view tracker