Is rendering limited by sound card bit depth?

Discussion about: tracktion.com
RELATED
PRODUCTS

Post

msl wrote:So if you're rendering a final mix and not an intermediate mix to be further processed later, there is no advantage to rendering in higher resolutions, right?
Maybe, maybe not. If you are rendering your final mix to be burned to CD then no, providing you dither down to 16 bits properly.
msl wrote:Here's a simplistic example:

Say we have a range of (amplitude) values to work with in a digital scale of +/-10. Our low bit-depth gives us whole number precision. Our high bit-depth gives us precision to 0.01.

Recording two tracks at low bit-depth we have the values 7 and 8 at a specific sample point. Summing and attenuating to mix them together without clipping we have a result rendered in high bit-depth of 7.50. At low bit-depth the rounded result would have been 8, so it seems like rendering at the higher bit-depth has given us better accurancy.

However, if we had recorded at high bit-depth we would have had the more accurate values 7.49 and 8.49 to work with and the high bit-depth result of the mix should really have been 7.99. So rendering at a higher bit-depth than the source tracks doesn't gain us any accurancy because we are fundamentally limited by the quality of the source material.
Change your 7.49 to 7 and the 8.49 to 8.51, which at the lower bit depth in your example yields 7 and 9 (assuming above 8.5 will round up), with a final average of 8, whereas the greater bit depth gives 7.76 thus an error of 3%.

If the lower bit depth is truncated rather than rounded, we have 7 and 8, with an average of 7.5 which would also be truncated to 7, for which the error is even greater.

[edited to correct an error in my numbers!]

Post

You seem to be backing up my understanding that the accuracy of the result is dependent on the accuracy of the input. Using a higher target bit-depth may randomly produce more or less accurate results than just sticking with the same bit-depth, because the output accuracy is fundamentally limited by the accuracy of the input data. Is that correct?

Post

Ofcourse the result is limited by accuracy of what you put in.

Suppose you do audio recordings in 8 bits (just suppose...) and you want the resulting product to be in 8 bits also. When just summing the tracks, then an internal resolution of 8 bits will get perfect results. Same goes for 16, 24 and 32 bits by the way...

BUT !!! Because the individual tracks will have peaks close to 0dB, "just summing" the result will go over 0dB and hence it is clipped. So the individual tracks need to be attenuated. Lowering the volume means dividing the numbers. In order to preserve the details you need a higher resolution.

So in the example of 8 bits input and 8 bits output, you need at least an internal resolution of 16bits to preserve the details. Should you use 32bits, that would render some more accurate results inbetween. But since we're converting back to 8bits anyway the difference is not likely to be significant. More important is that adding dither noise before truncating at the end will preserve some info otherwise lost.

Using 32bits floats internally (like any VST host does, or should do) will preserve all the significant information because it is a floating point format. With floating points you can lower the volume without losing the details. Any distortion from rounding errors is of a much lower magnitude (around -120dB) than the resolution limitation of the input material.

I hope this made some sense...

Post Reply

Return to “Tracktion”