• Techniques
  • Dithering 32 bit floating point to 24 bit
2018/03/21 12:14:52
ULTRABRA
If I am working on a project at 32 bit floating point and I export it down to a 24 bit wav file, do I need to add dither?
 
I was reading that in Studio One they do this and its a default setting that exports to anything below 32 bit floating point have dither automatically added.  But it can be turned off also.    
 
I always thought that dither was not required until going down to 16 bit ...?
2018/03/21 12:31:44
DeeringAmps
Dither anytime you “down sample”.

T
2018/03/21 15:57:48
TheMaartian
32-bit float (23-bit fraction, 8-bit exponent, 1-bit sign) to 24-bit integer seems like an up-sample to me.
2018/03/21 16:36:47
mettelus
I doubt you will hear a difference one way or the other with that situation, since the 32-bit is sort of a safety-net to prevent clipping on 24-bit audio to my understanding. Where you will notice it immediately is if that 32-bit audio is "clipped," since the 24-bit won't like it.
2018/03/21 17:41:14
drewfx1
For audio, there is no reason to use dither when the output is greater than ~16 bits. It simply will never ever make any difference. The rule about always dithering when reducing resolution is a general rule about preserving as much data as possible, but it's irrelevant when the data is already noise or is never going to get used because it's going to be completely inaudible and buried in analog noise anyway.
 
 
TheMaartian
32-bit float (23-bit fraction, 8-bit exponent, 1-bit sign) to 24-bit integer seems like an up-sample to me.




32 bit float = 23 bits of resolution + 1 sign bit + 1 implied bit (for non-subnormals, but subnormals are irrelevant for audio*) + 8 bit exponent.
 
24 bit = 24 bits of resolution including 1 sign bit, but you only get 24 bits of resolution for individual samples that are within ~6 dBFS of clipping
 
In floating point you always (except for subnormals*) get the full resolution because the exponent scales things. IOW, you always (except for subnormals*) get 25 bits of resolution with 32 bit floating point vs. 24 bits only for the loudest samples with 24 bit fixed point.
 
 
* I only mention subnormals so that someone doesn't insist on needlessly correcting me on a technical subtlety that doesn't matter at all. If you don't already know what they are it means you don't need to.
2018/03/21 19:39:32
dmbaer
TheMaartian
32-bit float (23-bit fraction, 8-bit exponent, 1-bit sign) to 24-bit integer seems like an up-sample to me.




No, it's a straight-across equivalence.  That 23-bit fraction has one extra implicit bit.  With FP, the first bit is always 1, so the chip designers wisely chose to leave it out for another bit on the right end.
2018/03/21 21:25:34
TheMaartian
dmbaer
TheMaartian
32-bit float (23-bit fraction, 8-bit exponent, 1-bit sign) to 24-bit integer seems like an up-sample to me.




No, it's a straight-across equivalence.  That 23-bit fraction has one extra implicit bit.  With FP, the first bit is always 1, so the chip designers wisely chose to leave it out for another bit on the right end.




You can tell it's been over 40 years since engineering school. 
 
And then the business I was in in the 80s (oil) required precision higher than 24-bit and all of the microprocessors I could power with solar were 8-bit. Lousy environment for floating point math, so I wrote a 64-bit fixed point math library for the NSC-800 (CMOS; Z-80 instruction set), 32-bit integer and 32-bit fraction. I had to deal with some meter correction factors whose first significant digit was 6 to the right of the decimal point.
 
I'll say this for fixed point math...it's fast.
© 2024 APG vNext Commercial Version 5.1

Use My Existing Forum Account

Use My Social Media Account