Re: 64bit processing - Why?
Re: 64bit processing - Why?
- Subject: Re: 64bit processing - Why?
- From: Richard Dobson <email@hidden>
- Date: Fri, 31 Jul 2009 11:32:00 +0100
Brian Willoughby wrote:
..
I basically disagree, although perhaps you can find a flaw in my
description of why.
Audio samples are expected to be in the range where all values are less
than 1.0, with few exceptions. This fact alone generally avoids exactly
what you described. Digital audio is not exactly the broadest use of
float.
I am with you for the case of final track mixing (though if channel
counts rise into the 1000s we may start to see problems!); but there are
other summing situations where width helps - phase accumulation for
additive synthesis (e.g. in pvoc etc) being the one I have spent most
time with. Running a real-time soak test with a float accumulator loses
accuracy remarkably quickly (e.g. in generating a sawtooth additively,
the shape degrades within 30 mins using floats as phase accuracy
reduces). Plain pvoc and FFT generally also involves summing of many
values, Pvoc is pretty good with floats, but doubles is definitely
cleaner-sounding and the extra precision helps in all sorts of other
ways too. I suspect many physical modelling applications (e.g. where
1000s of nodes may be summed) also need more precision than the float
can provide. So in the specific case of final audio mixing (with
"normal" channel counts) clearly there is plenty of margin, but this
does not mean that in the general case summing is without problems.
Nevertheless, it still would not surprise me very much if summing over a
48bit fixed-point bus did not sound just a tad cleaner than summing over
a 32bit float bus. I have to take such things on trust, since I can't
afford the gear necessary to prove it one way or the other!
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