rendering in 24bit?

Discuss music production with Ableton Live.
icedsushi
Posts: 1652
Joined: Wed Jan 12, 2005 8:36 pm

Post by icedsushi » Tue Jan 24, 2006 9:11 pm

tomperson wrote:That's it :D
I wonder if someone can come up with a good link talking about 32bit floating and wether we should dither or not. My first bet is that we should. In fact, I do it.
I always thought we should too, but I have been told that 32 bit float is a different story and we may be hearing the word "dither" less in the future as more 32 bit float processing apps are around. (But it's really beat into people's heads to always dither, so might take longer for people to stop feeling the need to do it all the time.) Apparently it has something to do with the bits being re-quantized when they are floating as opposed to being fixed. I was also told by this developer of an audio app that there's some information about it on the developer part of Apple's website. The topic came up because I asked them if they were going to add a dither to their application and that was their answer.

Haven't checked out the site myself just yet.

Angstrom
Posts: 14987
Joined: Mon Oct 04, 2004 2:22 pm
Contact:

Post by Angstrom » Tue Jan 24, 2006 9:40 pm

so when you go down to 16 bit ... how is the extra data carried across without dither?

I dont understand that at all, there is data loss without dither surely

icedsushi
Posts: 1652
Joined: Wed Jan 12, 2005 8:36 pm

Post by icedsushi » Wed Jan 25, 2006 12:36 am

There is data loss with dither too. You're always going to lose the same amount of data reducing the bit rate down to the same size. Dither kind of tries to leave footprints of what used to be there but the price is some extremely low level noise, of course. So it's all about making the most of those remaining data values to make it represent the original as much as possible and avoid them flipping back & forth between bits because of rounding the numbers.

The response I got when I asked was that floating point audio kind of "changes the rules" a little bit in several ways. They said in today's world, dithering in the context of floating point doesn't make sense.

I wish I knew more theory about it so I could make my own deductions. But you can't always ask a software developer to give one person a lengthy in-depth scientific college course explanation I suppose. Or maybe I am too shy and I should ask for it! :lol:

I guess all I can do is bring it up and hope someone else who knows floating point in detail confirms it or not. Always good to get a second opinion. But I thought it was an interesting point.

As of now, I don't have any software that has dither (except Plogue Bidule which has a dither object that I could run a file through in real time.) I'm just starting to burn CD's of my own stuff, kind of quickie masters. Now I'm wondering if I even need to invest in anything special just to get a formal dither after hearing that. :?

krank
Posts: 731
Joined: Wed Jun 22, 2005 10:34 am

Post by krank » Wed Jan 25, 2006 12:08 pm

Angstrom wrote:
essentially by dithering you are 'encoding' an average of what was present in the 24bit version. If you imagine 16 bit as only having 16 values (yes I know it doesn't!)...

if an input volume curve wobles between values 2 and 3 in our pretend 16 bit encoding scale,
EG: 2.11, 2.321, 2.143. 2.123 ....

all that will come out of 16 bit output is '2',
EG: 2 , 2 , 2 , 2 ...

not very accurate !
By adding dithering noise to the input signal the signal is made to wobble around the 16 bit range a lot more ..
EG:our above figures becom : 3.11, 1.002, 2.483, 1.3023 !!

but the averaged value from this stream comes out as more accurate than the raw 16bit!
EG: 3, 1, 2, 1, ..
Imagine those points plotted on a graph and 'smoothed' , you could now read floating point numbers off the graph that were longer than 16 bit allows. Magic!
I can't make sense of that. I will read Bob Katz again, like it seems we all should (lots of speculation in this thread).

tomperson
Posts: 1018
Joined: Fri Oct 08, 2004 11:55 am
Location: MVD, Uruguay, South America
Contact:

Post by tomperson » Wed Jan 25, 2006 12:50 pm

krank wrote:
Angstrom wrote:
essentially by dithering you are 'encoding' an average of what was present in the 24bit version. If you imagine 16 bit as only having 16 values (yes I know it doesn't!)...

if an input volume curve wobles between values 2 and 3 in our pretend 16 bit encoding scale,
EG: 2.11, 2.321, 2.143. 2.123 ....

all that will come out of 16 bit output is '2',
EG: 2 , 2 , 2 , 2 ...

not very accurate !
By adding dithering noise to the input signal the signal is made to wobble around the 16 bit range a lot more ..
EG:our above figures becom : 3.11, 1.002, 2.483, 1.3023 !!

but the averaged value from this stream comes out as more accurate than the raw 16bit!
EG: 3, 1, 2, 1, ..
Imagine those points plotted on a graph and 'smoothed' , you could now read floating point numbers off the graph that were longer than 16 bit allows. Magic!
I can't make sense of that. I will read Bob Katz again, like it seems we all should (lots of speculation in this thread).
What is expressed there is correct, there's no speculation there, it was an analogy to how dither works. I don't think there's "lot" of speculation...The only remaining point to which there's no answer yet is if we should or should not dither when reducing the bit depth from 32bit float to 16 bit integer.
Turn up the radio. Turn up the tape machine. Look into the sunset up ahead. Roll the windows down for a better taste of the cool desert wind. Ah yes. This is what it's all about. Total control now.

krank
Posts: 731
Joined: Wed Jun 22, 2005 10:34 am

Post by krank » Wed Jan 25, 2006 12:59 pm

tomperson wrote:What is expressed there is correct, there's no speculation there, it was an analogy to how dither works. I don't think there's "lot" of speculation...The only remaining point to which there's no answer yet is if we should or should not dither when reducing the bit depth from 32bit float to 16 bit integer.
Not a big deal, but do read the numbers again.

tomperson
Posts: 1018
Joined: Fri Oct 08, 2004 11:55 am
Location: MVD, Uruguay, South America
Contact:

OK

Post by tomperson » Wed Jan 25, 2006 1:07 pm

OK, found some interesting links.

First of all, what is dither:
http://www.mtsu.edu/~dsmitche/rim420/re ... ither.html


Then, dither from 32bit float to 16bit fixed or not:
http://www.cadenzarecording.com/papers.html
Nika Aldricht wrote:
If the intermediate processing depth only has a 24-bit mantissa then it is questionable whether this system actually has any mathematical benefits in real-world applications Exploring Dither in Floating-point Systems - 13
over 24-bit fixed-point systems in digital audio, specifically because of the inability to maintain the “resolution” or “mathematical precision” that a dithered 24 bit system can guarantee.

Because of the issues surrounding effective dither both mid-stream and also during the final conversion stage to fixed-point processing it is probably appropriate for users to do careful listening tests between both their available dithering options and not using dither at all. Because there is not a simple, absolute “goal” with respect to dither on floatingpoint
systems (one cannot completely eliminate the distortion) and because there is not a simple mathematical formula for obtaining the best results (such as exists in the fixedpoint domain), it is indeed possible that the available dither options will yield less desirable results than removing dither altogether. This is especially true as programmers try to independently find the most effective solution, or as they errantly apply the principles of dither in fixed-point systems to the floating-point domain.

As with many other areas of digital audio, it is probably best that the audio engineer, armed with sufficient knowledge of what is “supposed to be,” actually listen to verify that what is “supposed to be” or what is “purported to be” actually plays out in practice with their equipment.
A long discussion here:
http://www.dsprelated.com/showmessage/5703/1.php
Turn up the radio. Turn up the tape machine. Look into the sunset up ahead. Roll the windows down for a better taste of the cool desert wind. Ah yes. This is what it's all about. Total control now.

tomperson
Posts: 1018
Joined: Fri Oct 08, 2004 11:55 am
Location: MVD, Uruguay, South America
Contact:

Post by tomperson » Wed Jan 25, 2006 1:10 pm

krank wrote:
tomperson wrote:What is expressed there is correct, there's no speculation there, it was an analogy to how dither works. I don't think there's "lot" of speculation...The only remaining point to which there's no answer yet is if we should or should not dither when reducing the bit depth from 32bit float to 16 bit integer.
Not a big deal, but do read the numbers again.
I already mentioned that the numbers were wrong, but Angstrom expressed that they were just to get the idea. Obviously you cannot have floating point numbers in 16bit fixed.
Turn up the radio. Turn up the tape machine. Look into the sunset up ahead. Roll the windows down for a better taste of the cool desert wind. Ah yes. This is what it's all about. Total control now.

krank
Posts: 731
Joined: Wed Jun 22, 2005 10:34 am

Post by krank » Wed Jan 25, 2006 1:25 pm

tomperson wrote:I already mentioned that the numbers were wrong, but Angstrom expressed that they were just to get the idea. Obviously you cannot have floating point numbers in 16bit fixed.
Yes, sorry. I should have paid more attention myself.
tomperson wrote:The idea you mention Angstrom is correct, but in 16bit integer you wouldn't have 2.11, 2.321, 2.143. 2.123, you would have integers 1,2,3,4, etc up to 65536.

Post Reply