Re: 64bit processing - Why?
Re: 64bit processing - Why?
- Subject: Re: 64bit processing - Why?
- From: Richard Dobson <email@hidden>
- Date: Fri, 31 Jul 2009 09:38:03 +0100
Brian Willoughby wrote:
Dither is most certainly additive. You want to avoid it as much as
possible, postponing until the final stage.
Strange thing is that summing should not involve anything that would
require increased precision, and yet some people claim to hear better
results from summing at 80 bits rather than at 32. The reason I'm
surprised by these claims is that pure summing is only addition, and you
can sum large numbers of channels without adding too many bits,
certainly far less than double.
I have an opposite view - summing needs lots of space. The issue is
limited floating-point precision when adding a small number to a large
one. In 32bit floats, if you add 99999.0 to 0.009, you don't get
99999.009, you get 99999.007812. A 32bit float only offers around 7
decimal digits of precision. Change that small number to 0.0009 and it
simply disappears - result is still 99999.00000. This is without either
number actually being even close to denormal.
When adding numbers of disparate sizes, the exponent of one or other
number (I forget which) has to be adjusted, which all too easily results
in possibly severe truncation of the mantissa, leading to the arithmetic
problems shown above. The order in which values are summed can make a
difference (e.g., sum all the small values together before adding to the
large one). So summing can have an effect akin to (probably not very
good) dither. It would therefore not surprise me at all to learn that
summing at 80bits sounds better. Summing at 48bits would probably sound
as good (as you might get using a dsp chip for example); but that size
is not readily available in a general purpose CPU.
Richard Dobson
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden