On Fri, 29 Apr 2005, Jamie Bullock wrote:
With PD, numbers are represented internally as 32-bit floats, but audio processing is done using values normalised to the range -1 < x < 1. So doesn't this effectively restrict PD's audio dynamic range to 24-bit?
No, because floats are a multiscale number system, so quiet sounds, represented by small numbers, have almost the same dynamic range as loud sounds. There's a distinction to be made: there is 24 bits of significant digits, but it's a sliding window that adapts to the magnitude of the numbers, and because 32-bit floats have about 126 different exponents (?) you have much more effective resolution. However, of course, adding together large values and small values will lose some resolution on the small values, because only the top 24 bits of the result are kept.
In the end, it doesn't matter much whether the range being used in audio is -1;+1 or -32768;+32768 or whatever. It's just a matter of convention, and the number of possible exponents with -1;+1 is already more than enough for most uses. Standardising on -1;+1 is nice because it makes decibel computation slightly simpler, as log(1)=0.
,-o---------o---------o---------o-. ,---. |
| The Diagram is the Program (TM) | | ,-o-------------o--------------o-.
-o--------------o--------------o-' | | Mathieu Bouchard (Montréal QC) | | téléphone: +1.514.383.3801
---' `-o-- http://artengine.ca/matju -'