Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Does Foobar2000 use uncorrelated dither... (Read 7257 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Does Foobar2000 use uncorrelated dither...

...when going from 64 bit to 24 bit (this is when using effects/resampling/volume)? if not, could we have it as an optional feature?

JRiver is already applying it. Read: http://yabb.jriver.com/interact/index.php?topic=76912.0

Sound engineer Bob Katz states (in the link above (the j river player forum) that this is mathematically the right way to use effects/apply volume etc. in any player without introducing audible noise/distortion to the last 24 bit output.

What do you think?

PD: I do not find a clear difference between posting this in the support forum or the general forum, if it's in the wrong one please move it before deleting it.

Does Foobar2000 use uncorrelated dither...

Reply #1
There are two fascinating statements in that thread...

Quote from: bobkatz link=msg=0 date=
Can we hear truncation at 24 bits (versus dithering)? I can --- on a good day I can pass a blind test on it, with the right musical material. Is it a hard test to pass? YES IT IS! It is the hardest and probably one of the most subtle differences that you will ever be asked to hear or judge. Does this mean that it's insignificant? I like to think that any sonic difference which some small percentage of the population can hear is significant.
ABX-ing dither vs truncation at 24-bits. That'll raise a few eyebrows here.

Quote from: Matt link=msg=0 date=
The optional 8-bit and 16-bit dither is an uncorrelated TPDF dither.

Quote from: Matt link=msg=0 date=
It's important to remember that dithering, when done properly, does not change the bit-perfect nature of output.  A 16-bit or 24-bit value remains unchanged when dithering.  Dithering only changes values in between those whole values.  These in between values arise when performing any sort of processing, including volume.
It's a while since I worked on this, so forgive me if I'm wrong, but IIRC...

Firstly, I've never heard of anyone using "correlated" dither, so saying the dither is uncorrelated is strange.

Secondly, at the correct amplitude, Triangular Probability Density Function (TPDF) dither does change exact 16-bit or 24-bit samples taking a round trip through 24-bit or 32-bits and back. The very point of TPDF dither is that the dither noise power does not depend on signal amplitude. If exact 16-bit values get no noise added, and non-exact 16-bit values get noise added, then the noise power depends very strongly on signal amplitude.

Cheers,
David.

Does Foobar2000 use uncorrelated dither...

Reply #2
PD: I do not find a clear difference between posting this in the support forum or the general forum, if it's in the wrong one please move it before deleting it.

I don’t know why you would think it might be appropriate for Support, seeing as said subforum prominently advertises its rules at the top of each page, and said rules clearly state that it is not to be used for requests/suggestions/anything other than problems with official software. General is the most apt place for this.

The previous thread was deleted not because of its placement but because you violated #8 of the terms of service, to which you agreed during registration. Whilst there seems to be an effort here to avoid that by reframing this as a theoretical discussion, I have doubts about whether anything meaningful can be said about something so far beyond any human thresholds of perception.

Does Foobar2000 use uncorrelated dither...

Reply #3
Quote from: Matt link=msg=0 date=
It's important to remember that dithering, when done properly, does not change the bit-perfect nature of output.  A 16-bit or 24-bit value remains unchanged when dithering.  Dithering only changes values in between those whole values.  These in between values arise when performing any sort of processing, including volume.
It's a while since I worked on this, so forgive me if I'm wrong, but IIRC...

Firstly, I've never heard of anyone using "correlated" dither, so saying the dither is uncorrelated is strange.



There are at least two possible correlations, dither to signal correlation and channel to channel correlated dither.  Channel to channel uncorrelated dither may (in a theoretical sense) fuzz the soundstage.  Correlated channel to channel dither may (once again in a theoretical sense) narrow the soundstage.  Purists will argue forever 

Tho, in general, dither correlated to the signal is a bad idea, there are some real cases where it's a correct thing to do, say in a sigma delta modulator (where TPDF is not the best way to go).  In a sigma delta modulator effective dither is often at about the same order of amplitude as the signal.  There are arguably benefits to having the dither low on high level signal and much higher on low level signals.  Balancing this with the obvious downfalls of correlated dither is once again something that purists will argue about forever.

Does Foobar2000 use uncorrelated dither...

Reply #4
I think that there's only one way to make sound perfect on our PCs - even more perfect than bitperfect. Only thing you have to do is remove your DVD-ROM drive and put there Vinyl-ROM drive and start playing everything with analog technology. Vinyl-ROM output should be soldered directly to your soundcard inputs. Perfect "kernel streaming". No dither added - guaranted. Just perfect uncorrelation between channels. No DACs used - no jitter, decimation and resampling used. Even better than native DSD (which is now hardly available on PC - mostly after PCM conversion) - it will be just like DSD without delta-sigma modulators and demodulators!! Input connected diretly to the output. Foobar will be used just to control the arm of your Vinyl-ROM drive. No additional plug-ins will be required, no decode errors will be triggered. Playback Rate Shift effect will be easily available, as well as playing your music backwards.
So, while JRiver implemented 24 bit uncorrrelated dither for-the-first-time-in-history, foobar devs should stick with implementing arm controlling algorithms for Vinyl-ROM drives. They will be first... Remember - no dither (...).

Does Foobar2000 use uncorrelated dither...

Reply #5
So, while JRiver implemented 24 bit uncorrrelated dither for-the-first-time-in-history...


(Skipping the parts that I'd get in trouble for responding to)

Nah, dither in many forms has been around "forever".

Great music is wonderful.

Does Foobar2000 use uncorrelated dither...

Reply #6
Channel to channel uncorrelated dither may (in a theoretical sense) fuzz the soundstage.  Correlated channel to channel dither may (once again in a theoretical sense) narrow the soundstage.  Purists will argue forever


It is possible to apply 0.5*correlated + 0.5*uncorrelated dither. Is there any program that do this?

Does Foobar2000 use uncorrelated dither...

Reply #7
Channel to channel uncorrelated dither may (in a theoretical sense) fuzz the soundstage.  Correlated channel to channel dither may (once again in a theoretical sense) narrow the soundstage.  Purists will argue forever


It is possible to apply 0.5*correlated + 0.5*uncorrelated dither. Is there any program that do this?


Hmm, I don't know.  It could be the best of both worlds or the worst