On Wed, Apr 22, 2015 at 5:11 PM, Alexandre Torres Porres porres@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