Re: 64bit processing - Why?
Re: 64bit processing - Why?
- Subject: Re: 64bit processing - Why?
- From: Brian Willoughby <email@hidden>
- Date: Thu, 30 Jul 2009 18:28:05 -0700
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.
As soon as you get to gain (or EQ) or anything involving
multiplication, you're forced to truncate in some way. Even double-
precision involves truncation. So the choice is between truncating
to 64 or to 32. Obviously, the quantization noise is 144 dB louder
when truncating to single-precision.
Although it seems like you should be able to connect all processing
via single-precision - a hypothesis that you may have abandoned now
that you know dithering is cumulative - there's also the
consideration that some effects are simple building blocks which are
used together to create a more complex effect. In these cases, being
forced to use single-precision between effects would give an unfair
advantage to developers who combine the building blocks internally at
double precision.
There seems to be some controversy, though, Some believe that double
precision allows dithering to be completely skipped until the very
end, with dither done only once from 64 or 80 to 24. Others maintain
that even the 64-bit multiplication should be dithered, even though
the errors are more than 384 dB down, and that camp are happy to deal
with the cumulative dither at nearly every stage of the digital
processing. It's unclear to me whether the members of the latter
camp simply prefer the sound of dither noise or are actually hearing
the results of removed quantization noise. I'm leaning towards the
former camp, but still prefer the option to try things both ways.
Brian Willoughby
Sound Consulting
On Jul 30, 2009, at 17:57, Ethan Funk wrote:
I hope I have not miss understood: we are talking about the numeric
format used *between* processing units not the format used within the
unit correct?
I have no complaint about using double precision numbers were non-
linear, large coefficient array FIR or recursive IIR DSP operations
are being performed. In such situation, it may be and often is
called for. But why force all the other simple summing and scaling
that goes on in the chain before and after to be double precision
just for the sake of a section of DSP code that needed the precision
internally? I bet the overhead of doing a double to single with
dither before coming out of a piece of DSP code is small compared to
having to drag doubles thought the whole audio chain.
If I go from single to double, then *dither* back to single, I don't
lose anything from the original single. I should be able to do that
over and over again with out degradation correct? Or is my assumption
wrong - is the dither "noise" additive?
Ethan...
_______________________________________________
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