You are here

Dither confusion

For everything after the recording stage: hardware/software and how you use it.

Moderator: Moderators

Dither confusion

Postby RichardT » Sun Apr 11, 2021 5:56 pm

I’m confused - should I dither or not when converting from Cubase’s internal 64 bit floating point representation to 24 bit PCM?

As far as I can see, the dither signal is around -140dB when outputting at 24bit, which is way below the noise floor of any real world converter.

And yet some people who should know say that yes, you should dither when reducing word-length to 24 bit.

What’s the truth here?
RichardT
Frequent Poster
Posts: 825
Joined: Fri Aug 13, 2004 12:00 am
Location: London UK

Re: Dither confusion

Postby Hugh Robjohns » Sun Apr 11, 2021 7:26 pm

The rule is very simple: a digital signal MUST be dithered whenever the word-length is reduced.

I'd like to think Cubase would do it automatically for a fixed-point 24 bit output, but if it doesnt then technically yes, it should be manually dithered.

While it is true that your A-D converter (or ambient recorded acoustic) noise floor will be well above the -141dBFS 24-bit digital dither noise floor during the playback of recorded audio, that won't be the case when fading down or up from 'digital silence' between tracks. So while the quantising distortions due to the lack of dither might well go noticed by most listeners, you cant guarantee it and you will definately get technically better results if you do dither the output.
User avatar
Hugh Robjohns
Moderator
Posts: 30861
Joined: Fri Jul 25, 2003 12:00 am
Location: Worcestershire, UK
Technical Editor, Sound On Sound
In my world, things get less strange when I read the manual... 

Re: Dither confusion

Postby RichardT » Sun Apr 11, 2021 7:30 pm

Thanks Hugh, that makes perfect sense. I hadn’t thought about fades.
RichardT
Frequent Poster
Posts: 825
Joined: Fri Aug 13, 2004 12:00 am
Location: London UK

Re: Dither confusion

Postby MOF » Sun Apr 11, 2021 7:39 pm

I think you’re confusing the 64 bit internal resolution and the 24bit audio.
Ideally your audio should be at 24bit and whatever sample rate you’ve chosen then dithered (and maybe rate converted) to 16bit 44.1khz for CD standard audio.
If you’re not exporting to CD format there’s no need for dither. MP3 formats are automatically converted from 24bit. The 64bit is for all the mathematical handling of data, such as reducing rounding errors as I understand it.
MOF
Frequent Poster
Posts: 1556
Joined: Thu Mar 06, 2003 1:00 am
Location: United Kingdom

Re: Dither confusion

Postby The Elf » Sun Apr 11, 2021 7:41 pm

It doesn't matter what Cubase is doing internally (that's where the 64-bit comes in) - that's just the internal processing. When you create a new Project in Cubase you set the 'native' format for the Project and it is this that you need to refer to when considering dithering.
User avatar
The Elf
Jedi Poster
Posts: 16674
Joined: Tue Aug 14, 2001 12:00 am
Location: Sheffield, UK
An Eagle for an Emperor, A Kestrel for a Knave.

Re: Dither confusion

Postby Hugh Robjohns » Sun Apr 11, 2021 7:52 pm

There is some extra confusion around the 64-bit float format...

With 32-bit float the mantissa is 24 bits long, so assuming your final mix doesn't exceed 0dBFS there is no word-length reduction in producing a 24-bit fixed-point output, so technically, no redithering is necessary.... But in practice it won't do any harm to add it and at least it guarantees a consistent noise floor when fading to/from digital black.

With 64-bit float, the mantissa is obviously longer, so dithering to 24-bit fixed-point is necessary. The only question is whether Cubase (and other Daws) take care of it automatically, or not.

In practice, it wouldn't matter if you dithered any way. The noise floor would rise to -138dBFS... But that's still 10dB lower than the best D-A I've ever measured...
User avatar
Hugh Robjohns
Moderator
Posts: 30861
Joined: Fri Jul 25, 2003 12:00 am
Location: Worcestershire, UK
Technical Editor, Sound On Sound
In my world, things get less strange when I read the manual... 

Re: Dither confusion

Postby CS70 » Sun Apr 11, 2021 7:53 pm

If what you bounce is below 0dBFS in the 24 bit full scale, no.

double (or "float64") numbers can represent signed integers between 2^-53 and 2^53 precisely. 24 bit samples are integers between 0 and 2^24 (i.e. individual distinct values that can be accepted or theoretically produced by a 24 bit D/A or A/D converter). So, once a properly coded mixing engine has done its job into a bus and the bus is below 0 dBFS (where the full scale is for 24 bits words) all values in that bus will fit in the 24 bit range without any need of approximation (incidentally, single precision floats - i.e. 32 bits floating point - can also represent the integers up to 2^24 precisely... only just. So it's the same also for mixing engines using "float" instead of "double", aka 32 bit floating point instead of 64).

In other words, "double" has space for way more integers than needed to completely cover a 24 bits integers space; "float" has just enough.

It's different when you cut the number of bits in an integer representation: in that case your target integer number space is much smaller, therefore large sets of different 24 bits integer numbers are forced into the same 16 bit integer number. Dither is a way to choose the best representative one (alternatively, you can simply think of truncation, and how to select the best approximation).
User avatar
CS70
Jedi Poster
Posts: 7821
Joined: Mon Nov 26, 2012 1:00 am
Location: Oslo, Norway
Silver Spoon - Check out our latest video and the FB page

Re: Dither confusion

Postby MOF » Sun Apr 11, 2021 8:02 pm

Hugh and CS70, is the 64bit value something that has to be set in Cubase?
I thought floating and fixed point values were something set by the program coders.
I have Logic X , I know of no setting other than ticking 24bit to replace the standard 16bit rate.
MOF
Frequent Poster
Posts: 1556
Joined: Thu Mar 06, 2003 1:00 am
Location: United Kingdom

Re: Dither confusion

Postby CS70 » Sun Apr 11, 2021 8:07 pm

MOF wrote:Hugh and CS70, is the 64bit value something that has to be set in Cubase?
I thought floating and fixed point values were something set by the program coders.
I have Logic X , I know of no setting other than ticking 24bit to replace the standard 16bit rate.

Not an expert about Cubase, but I would be surprised if it were possible - it would mean switching between two different mixing engines. :) As you say, a mixing engine is coded and compiled in a certain way (e.g. declaring "float" or "double" in C/C++ as types of the numbers under calculation - aka single or double floating point).

It's usually set, and the only difference is the amount of additional "headroom" over 0dbFS that you get when moving data (i.e. calculating) between buses (and potentially the size of error in the calculation, but properly coded engines use well-behaved algorithms so it's not a big difference at all).
User avatar
CS70
Jedi Poster
Posts: 7821
Joined: Mon Nov 26, 2012 1:00 am
Location: Oslo, Norway
Silver Spoon - Check out our latest video and the FB page

Re: Dither confusion

Postby MOF » Sun Apr 11, 2021 8:20 pm

Thanks CS70, that’s what I thought.
MOF
Frequent Poster
Posts: 1556
Joined: Thu Mar 06, 2003 1:00 am
Location: United Kingdom

Re: Dither confusion

Postby RichardT » Sun Apr 11, 2021 10:01 pm

The Elf wrote:It doesn't matter what Cubase is doing internally (that's where the 64-bit comes in) - that's just the internal processing. When you create a new Project in Cubase you set the 'native' format for the Project and it is this that you need to refer to when considering dithering.

That’s the recording bit depth? As soon as you apply gain changes or any processing to that channel, though, the signal is going to be at 32 or 64 bit float, irrespective of the recording bit depth.
RichardT
Frequent Poster
Posts: 825
Joined: Fri Aug 13, 2004 12:00 am
Location: London UK

Re: Dither confusion

Postby RichardT » Sun Apr 11, 2021 10:04 pm

Hugh Robjohns wrote:There is some extra confusion around the 64-bit float format...

With 32-bit float the mantissa is 24 bits long, so assuming your final mix doesn't exceed 0dBFS there is no word-length reduction in producing a 24-bit fixed-point output, so technically, no redithering is necessary.... But in practice it won't do any harm to add it and at least it guarantees a consistent noise floor when fading to/from digital black.

With 64-bit float, the mantissa is obviously longer, so dithering to 24-bit fixed-point is necessary. The only question is whether Cubase (and other Daws) take care of it automatically, or not.

In practice, it wouldn't matter if you dithered any way. The noise floor would rise to -138dBFS... But that's still 10dB lower than the best D-A I've ever measured...

Cubase doesn’t dither automatically. I use Pro-L to do it.
RichardT
Frequent Poster
Posts: 825
Joined: Fri Aug 13, 2004 12:00 am
Location: London UK

Re: Dither confusion

Postby RichardT » Sun Apr 11, 2021 10:06 pm

MOF wrote:Hugh and CS70, is the 64bit value something that has to be set in Cubase?
I thought floating and fixed point values were something set by the program coders.
I have Logic X , I know of no setting other than ticking 24bit to replace the standard 16bit rate.

Yes in Cubase, it’s possible to choose whether the audio engine works at 32 or 64 bit float.
RichardT
Frequent Poster
Posts: 825
Joined: Fri Aug 13, 2004 12:00 am
Location: London UK

Re: Dither confusion

Postby CS70 » Sun Apr 11, 2021 10:14 pm

I stand corrected. Fun. Guess it may help a little with performance and RAM usage.
User avatar
CS70
Jedi Poster
Posts: 7821
Joined: Mon Nov 26, 2012 1:00 am
Location: Oslo, Norway
Silver Spoon - Check out our latest video and the FB page

Re: Dither confusion

Postby MOF » Sun Apr 11, 2021 11:09 pm

Yes in Cubase, it’s possible to choose whether the audio engine works at 32 or 64 bit float.

I presume that’s on the PC to match the plugins, all modern Macs run at 64bit and support for 32bit was dropped a while ago.
MOF
Frequent Poster
Posts: 1556
Joined: Thu Mar 06, 2003 1:00 am
Location: United Kingdom

Next