[PD] audio bit resolution in Pd

Jamie Bullock jamie at jamiebullock.com
Thu Apr 23 18:26:27 CEST 2015


On 22 April 2015 at 19:44:26, William Huston (williamahuston at gmail.com) wrote:

On Wednesday, April 22, 2015, Jamie Bullock <jamie at jamiebullock.com> wrote:
>
> Pd is 32-bit *floating point*, so you have 32-bit resolution between -1 and 1.

I don't think that's right.

The range of a single precision floating point number is from

-3.4028234 × 10E38 to 3.4028234 × 10E38 (not from -1 to 1)


True, but I didn’t say the range of 32-bit float was -1 to 1!

There are only 23 bits of precision for the mantissa + 1 for sign in a single precision float.


Also true, but when I said “resolution” I didn’t mean “precision”. Because the exponent can be negative, resolution scales dynamically from 1..0 according to the value of the exponent, whilst precision stays fixed according to the number of bits in the mantissa. Thus for very small values the resolution (or quantisation step size) is far finer than can be represented with the mantissa alone. 

What I was trying to put across (poorly!) in my original reply is that unlike fixed point where for lower order values fewer bits are available in the binary representation, with floating point, just because e.g. -1..1 is a smaller range than -3.4 x 10E38..3.4 x 10E38 it doesn’t imply “fewer are bits available”, e.g.

Sign		Exponent		Mantissa
0 		01111110  	11111111111111111111111 	-> 0.99999994
0 		00000001 	11111111111111111111111 	-> 2.3509886E-38
1		01000000        0000000000000000000000	-> -1.0842022E-19
1              011111110        0000000000000000000000	-> -1.0

Strictly speaking, I guess only 31 bits “count” in the range -1..1 due to a maximum of 7-bits being significant in the exponent.

best,

Jamie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20150423/e52db80b/attachment-0001.html>


More information about the Pd-list mailing list