> And then, aren't all the operations performed in
> 40bit or 80bit on the FPU?
There are a whole hodge-podge of register sizes
available for floating point operations nowadays
ranging from 32 bit to 128 bit (I think the 40 bit
registers have been abandoned, but I'm not entirely
sure about that--I'm pretty sure the 80 bit registers
are still there).
However, the limiting factor is going to be
predominantly influenced by the size of the sample in
memory. For example, the sequence for setting the
volume in LMMS is something like:
load a 32 bit sample
load a 32 bit volume
perform an 80 bit multiply
store a 32 bit result
So the truncation errors will still occur despite
increased accuracy of the of the operation, which
would seem like an argument in favor of increasing the
bit depth of the sample.
In testing (on a 64 bit OS), I wasn't able to tell the
difference in processing speed between using 32 or 64
bits. Apart from the fact that the effects processing
will be done at 32 bits, my long winded rationale for
trying to standardize things on 32 bits is as follows:
The argument against a huge bit depth is
physiological. The comfortable dynamic range of human
hearing is somewhere around 90dB, which is why that's
a typical spec found in audio equipment.
Each additional bit in a sample doubles the dynamic
range of signal that can be represented--gives you
another 6dB of headroom, so a 16 bit signal has a 96dB
dynamic range, a 32 bit signal has a 192dB dynamic
range, and a 64 bit signal has a 384dB dynamic range.
Rounding errors are theoretically the same as adding
6dB of white noise to the signal. White noise doesn't
sum constructively, so, in theory, 16 bits "should" be
enough to prevent the errors from becoming audible.
However, when mixing 20 tracks of music, there is
often enough correlation in the errors between the
tracks to result in 12dB of "noise" being added in.
This reduces the dynamic range of the signal to 84dB,
and it's entirely possible you have your stereo turned
up loud enough to start hearing the errors in quiet
parts of the song (you'll definitely hear it if you
put on headphones).
Now then, if you had a 32 bit D/A in your sound card
and a sound system capable of reproducing a 196dB
dynamic range, and you turned it up loud enough to be
able to hear the extra 12dB of noise, the atmospheric
pressure emanating from your speakers during the loud
parts of the song would be capable of bursting enough
cell walls in your body to reduce you to a quivering,
oozy lump of something very dead.
In other words the noise resulting from errors in 32
bit processing isn't likely to ever be perceivable.
If you compose a song with 2000 tracks, it might start
to become a problem again, but in most situations, the
384dB range allotted by 64 bits is a bit of overkill.
Moody friends. Drama queens. Your life? Nope! - their life, your story. Play Sims Stories at Yahoo! Games.