On Thu, 2007-02-22 at 21:45 +0000, Tim Orford wrote: > 32 bit seems to be plenty for us mere mortals with more practical > problems, but I wouldnt dismiss the esoteric benefits of increased > resolution for complicated processing tasks so easily when quality > is the prime concern. The maths is very tricky. the issue is not complexity, its whether the operations produce results outside of the range of a 24 bit integer. if they do not, then floating point is 100% accurate, and greater resolution/bit depth is of no use. if they do, then things get more interesting. > Some nice products do use 64 bits (or other high resolution integer > formats), and I'm not so convinced that their nice sound is > completely unrelated to the sample size. > > As an interesting, though slightly obsure example, this article claims > that 32bit float is not enough to make a dithered 24bit integer signal: > http://www.cadenzarecording.com/floatingdither.html dither is a perennial subject on many pro-audio/DSP mailing lists. having just survived the latest one on another list, i don't wish to start another here. i will just note that Nika is smart, but his paper skips over some basic issues in a way that causes his results to appear more important than they actually are. adding two 24 bit numbers does not create a 48 bit result. multiplying a 24 bit number by a relatively small number does not create a 48 bit result. in fact, for the vast majority of possble 24 bit sample values and the vast majority of gain coefficients used in audio processing, the result is still a 24 bit number. his results/conclusions are not incorrect, they just apply to the majority of data flow through a typical 32 bit floating point system. > This old article also points out some mathematical problems: > http://www.jamminpower.com/PDF/48-bit%20Audio.htm > > Perhaps someone more versed in dsp maths can point out the flaws > in these articles, and other hi-end audio misconceptions? many of these articles seem, like Nika's, to assume that the full representational range of the 32 bit floating point number will be in use. it is certainly true that there are many inaccuracies when representing computational results with floating point numbers *BUT* these do not apply (or certainly do not apply in the same way) when the range of values that you are representing remains within the bounds of the 24 bit mantissa. for most audio, most of the time, this condition is satisfied. i will admit to a minor uncertainty in this when it comes to the normalized form that is generally used: i.e. full scale (0 dBFS) samples are represented not by 2^24-1 but by 1.0. i have a suspicion that this still allows 100% accurate computation as long as the final answer is less than 1.0, but on this i am slightly less sure than i would like. > The primary use for 64 bit is the critical mastering stage, where it > arguably doesnt make sense not to make use of available processing power. as i've explained repeatedly, the "64 bitness" of a processor is irrelevant when discussing 32 bit floating point math except for an increase in bus bandwidth, register width and a few other factors that affect speed, not accuracy.