[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