[PD] audio bit resolution in Pd

Charles Z Henry czhenry at gmail.com
Thu Apr 23 00:45:02 CEST 2015


On Wed, Apr 22, 2015 at 5:11 PM, Alexandre Torres Porres
<porres at gmail.com> wrote:

> So I start with this idea that the audio (values from -1 to 1) can't be in
> full 32 bit float resolution, it's less. I don't see why that is "wrong".
> And then, from it, my first question here was: "what is the audio resolution
> then?". I'm still clueless here about this answer.
>
> Moreover, is it more or less than what 24 bit audio cards handle?

Let me try:

32-bit floating point numbers have 24 bits of precision.  Always.  The
remaining 8 bits are just for the sign and exponent.  When the
amplitude of the signals decrease, you don't lose any precision in
floating-point.  The value of the least significant bit (LSB) gets
proportionally smaller.

However, the output of a 24-bit soundcard always has a fixed
quantization.  The LSB is always the same size.  Smaller numbers have
less precision.

The mismatch occurs when converting from the 32-bit floats to the
24-bit fixed point numbers.  Now, the smaller numbers aren't as
precise anymore.  They get rounded to the nearest number in the 24-bit
fixed point system.

So, yes, the resolution (of small numbers) in floating point (internal
to Pd) is finer than the resolution of those numbers when output
(driver/DAC).

Also, the 24-bit fixed point format is for values between -1 and 1.
That means that numbers between 0 and 1 have just 23 bits.  In 32-bit
math, the numbers between 0.5 and 1 still have 24 bits of precision
(the sign is held elsewhere).  That means that Pd's internal
resolution is finer than the soundcard resolution for all numbers
between -1 and 1.

Chuck



More information about the Pd-list mailing list