View Issue Details

IDProjectCategoryView StatusLast Update
0007428ardourfeaturespublic2020-04-19 20:18
ReporterCardboard Assigned Tox42  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionwon't fix 
PlatformLinuxOSAntergos 64-bit 
Product Version5.10 
Summary0007428: Please add dithering options for 24-bit exports
DescriptionIn the "Session>Export>Export to Audio Files" menu, any dithering algorithms are colored red and made unavailable for selection when choosing to export to a fixed 24-bit file. This is despite working in a resolution higher than 24 bits.
Additional InformationWith Ardour running an internal bit-depth of a 32-bit float, and with the sources it uses being encoded as 32-bit floats as well, there should still be truncation occurring, even if the bit-depth is as high as 24. I'm unsure of if this is intentional or not, but I would very much like the option for dithering to 24-bit files.
TagsNo tags attached.

Activities

x42

2017-07-17 21:47

administrator   ~0019898

It does not make sense to dither 24bit.

Ardour's underlying audio-representation is only 32bit float (which has a 24bit mantissa).

Also 24 bit can represent a dynamic range of 144 dB. That's more than enough to represent thermal noise at room-temperature. You don't need dithering to improve S/N nor will any harmonic distortions at that level be significant in any way whatsoever.

x42

2017-07-19 15:30

administrator   ~0019905

I'll mark this as won't fix and for good measure point to https://xiph.org/video/vid2.shtml

Cardboard

2017-07-20 03:27

reporter   ~0019907

Okay, thanks for the video link. That explained a few things to me. As you mentioned with the 24-bit sample-size having a range of 144dB, each bit increasing it by 6dB. Would truncation at its most significant amplitude reach no more than -138dB? I'd just like to know if I understand any better, as I didn't catch it in the video.

Thanks again.

x42

2017-07-20 11:32

administrator   ~0019908

Singed 24bit integer as a range from -2^23 to +2^23

When Quantizing a signal to 24bit, signal / quantization-noise is 20 * log(2^24) = 144.49 dB

or inverse, the noise-floor is at: 20 * log(2^-24) = -144.49dB

x42

2017-07-20 12:23

administrator   ~0019909

PS. There's https://en.wikipedia.org/wiki/Audio_bit_depth#Quantization

That page also mentions "as of 2007 digital audio converter technology is limited to a SNR of about 123 dB". That number has not improved over the last decade, maybe a dB or two for top-end lab equipment. But before the ADC and after the DAC there are also analog electronics (pre-amp, gain-staging) which make it worse.

So even if you add dithering to 24bit as soon as you hit the analog side, analog noise will dominate all of it. Dithering will have no effect whatsoever.

I just found http://www.radio-electronics.com/info/rf-technology-design/noise/thermal-calculations.php

At 20degC, bandwidth 48kHZ, thermal noise is -127.1dBm (Brownian-noise power). Now you can plug that number into http://www.analog.com/en/design-center/interactive-design-tools/dbconvert.html A common impedance for soundcards is 2kOhm which gives you -121.8 dBu (it's worse at higher impedance. IEC digital calibrates 0dBu to -18dBFS. So even if you had ideal analog electronics and an ideal 24bit ADC/DAC. Thermal noise (moving atoms = heat) at room temperature dominates it.

And all the above does not even consider microphones, speakers, the playback room and human ears.

However, during *production*, using 24 bits or 32bit float does make sense. It's convenient to just record at around -20dBFS, have plenty of headroom and sum signals in the digital domain. It helps to avoid mistakes.

As Monty put it in the video: "If the CD had been 14 bits as originally designed, perhaps dither might be more important. [...] That said no one ever ruined a great recording by not dithering the final master."

Old Stones recordings are a prime example. They might be around 4-5 bits. Artist performance is key, followed by studio (room treatment) and microphone (types & placement).

system

2020-04-19 20:18

developer   ~0023764

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2017-07-17 20:53 Cardboard New Issue
2017-07-17 21:47 x42 Note Added: 0019898
2017-07-19 15:30 x42 Note Added: 0019905
2017-07-19 15:30 x42 Status new => resolved
2017-07-19 15:30 x42 Resolution open => won't fix
2017-07-19 15:30 x42 Assigned To => x42
2017-07-20 03:27 Cardboard Note Added: 0019907
2017-07-20 11:32 x42 Note Added: 0019908
2017-07-20 12:23 x42 Note Added: 0019909
2020-04-19 20:18 system Note Added: 0023764
2020-04-19 20:18 system Status resolved => closed