avatar

chrisj

Gold Finger

Posts: 957 Member Since:22/02/2011

#221 [url]

Mar 2 17 3:00 PM

One thing that's very clear about it is, if you're going to arrive at the same values over and over again with truncation (like over the top of a sine, etc) normal dithering will 'map' randomness across this situation so that, statistically, you'll always get about the correct average distribution for that point on the wave. Like 2/3 of the way to the next sample, dither will give you 2/3 of one value and 1/3 of the other, on average.

NotJustAnotherDither does the Benford calculation on every sample. So if it starts to hit the same values over and over again, that FORCES the output to start selecting the other 'rounding', because one of the 'bins' for the Benford calculation immediately over-fills and becomes unreachable. And then when you introduce the noise shaping (very simple: include all the error from the previous sample) you end up driving the thing to act like a noise source, except it seems it's an awful lot quieter and nearer to Nyquist than a real noise source. That's the noise shaping, but I honestly didn't think it was going to work.

I tried the 'all the error fed directly back again' to see how it would break, and then figure out how to fix it. Apparently since it's driving the Benford calculation, it doesn't break. I didn't expect that, but I sure liked discovering it.

Now if I could have all this AND not starve, that would truly be gratifying :)

Chris Johnson, airwindows.com

Quote    Reply   
avatar

chrisj

Gold Finger

Posts: 957 Member Since:22/02/2011

#223 [url]

Mar 2 17 3:49 PM

I'd appreciate that from anyone who can: it's Bob O. who tipped me off that 'Naturalize' wasn't as good as it could be. It had a peculiar micro-compressy behavior that suited some people's tastes but wasn't consistent with correct dither behavior. NJAD solves that problem, but has a curious artifact much quieter than that when it's transitioning between audio and digital black. It's plainly heard in the video (at the 1 to 8 bit level, greatly amplified) but may or may not be a hindrance in normal use.

I have seen electronic musicians respond positively to just the idea of this: apparently some guys truncate because they insist on having digital black in some places in their compositions. Pretty much any natural noisefloor will prevent this, but if you get people wanting not to use dither because they've intended some places to be perfectly silent, this tool will do both (with, again, a specific artifact as it transitions into the silence, particularly if it's a fade beneath that threshold. But the perceptual loudness of the transition-sound is somewhat quieter than the LSB or traditional dither, so there's that)

Thanks for the 'very ingenous', this is a crew whose opinions I value more than most :) plus, you folks often have listening environments a lot classier than mine. So if NJAD has issues, they'll be apparent to you… and if I've managed to make a free tool eclipse everything else you've got, that too will become apparent… and if so you're welcome :)

Chris Johnson, airwindows.com

Last Edited By: chrisj Mar 2 17 3:54 PM. Edited 1 time.

Quote    Reply   
avatar

bob olhsson

Aqua Marine

Posts: 3,319 Member Since:25/01/2011

#224 [url]

Mar 2 17 5:55 PM

I've been working mostly in Pro Tools the past few weeks so I haven't had a chance to check it out yet. Keeping that bottom bit random is obviously the goal so adding noise is only one approach. I remember reading about using pseudo-random noise that could then be subtracted after truncation. Have you played with doing this calculation going from double to single precision? With today's CPU capability it makes sense to re-think how a lot of stuff gets done rather than sticking to what was practical twenty years ago.

www.audiomastery.com Bob's room 615 562-4346 georgetownmasters.com Georgetown Masters 615 254-3233 www.thewombforums.com

Quote    Reply   
avatar

chrisj

Gold Finger

Posts: 957 Member Since:22/02/2011

#225 [url]

Mar 2 17 6:01 PM

No, because there's not one clear level for truncation on floating point: since the 0db point is about 25 bit resolution and then 26 for 6 db down to 12 db down, and so on, it complicates things. I'd need to work out normal dithering to floating point first, before adapting this to it. Haven't done that yet :)

Chris Johnson, airwindows.com

Quote    Reply   
avatar

Hermetech Mastering

Gold Finger

Posts: 384 Member Since:22/02/2011

#226 [url]

Mar 3 17 9:15 AM

Tried out NJAD in a real project today (Philly Hip Hop track and it's various versions). Put it in the two places where I usually rely on TPDF (just before transfer DAC, and just after the final digital limiting before render). Again, not done any blind A/Bs, but it certainly doesn't sound any worse than usual, and may even sound better. I need to do another pass with my regular TPDF to compare.

Yes, this is very ingenious! And I trust Bob O's opinion on Dither a lot. Be interested to hear if Dave tries it and what his thoughts are, did you give it a whirl yet?

Gregg Janman, Hermetech Mastering

Quote    Reply   
avatar

dcollins

Platinum Blonde

Posts: 2,339 Member Since:27/01/2011

#227 [url]

Mar 3 17 10:37 AM

bob olhsson wrote:
I've been working mostly in Pro Tools the past few weeks so I haven't had a chance to check it out yet. Keeping that bottom bit random is obviously the goal so adding noise is only one approach. I remember reading about using pseudo-random noise that could then be subtracted after truncation. Have you played with doing this calculation going from double to single precision? With today's CPU capability it makes sense to re-think how a lot of stuff gets done rather than sticking to what was practical twenty years ago.
Yes, the random aspect is _vital_ to the de-correlation of the error.  I had never heard of "Benford Realness" and when I Gargled it, it does have some interesting aspects (like seeing if accounting numbers are being 'cooked') but generating random, or pseudo-random, numbers does not seem to be among them.

Testing d*ther by seeing how far you can hear into the noise-floor (Benchmark had some easy to use listening tests on this iirc) is the best evaluation.

As the simple and proven TPDF works completely as expected, is not fragile like noise-shaped methods, and is trivial from a computational standpoint it's not clear to me what problem is being addressed.



Quote    Reply   
avatar

jaykadis

Platinum Blonde

Posts: 2,405 Member Since:24/01/2011

#229 [url]

Mar 3 17 11:26 AM

The question is whether quantization error should in fact be random or whether it should follow Benford's Law as many natural phenomena do. Adding TPDF noise certainly works but maybe it just happens to approximate Benford's Law better than the other density distributions. Interesting topic for further research.

Quote    Reply   
avatar

chrisj

Gold Finger

Posts: 957 Member Since:22/02/2011

#231 [url]

Mar 3 17 2:53 PM

jaykadis wrote:
The question is whether quantization error should in fact be random or whether it should follow Benford's Law as many natural phenomena do. Adding TPDF noise certainly works but maybe it just happens to approximate Benford's Law better than the other density distributions. Interesting topic for further research.


TPDF first decorrelates the quantization error, and then decorrelates fluctuations of noise making the noisefloor totally and utterly uniform. Sounds fade under it with no alteration of their tone or amplitude (VERY not the case for truncation, obviously)

I do make a TPDF, also, for those who like that. Bob liked my 'PaulDither', a simple highpass TPDF. Oddly, by making a TPDF with two noise sources and a 1 LSB offset, I ended up with a TPDF that people thought sounded better than any other TPDF: turned out for some reason it was producing half an LSB of DC offset, so the noisefloor was distributed across three 'bits' instead of just two, and one of the 'bits' functioned as zero (rather than the dividing line between the bits). Anyone who figures a half-LSB of DC offset is a dealbreaker is welcome to use somebody else's dither ;)

There's no GUI as there's nothing for one to do (and it will help the plugin retain usefulness: less to break).

Dave, I'd love for you to test NJAD (and NJAC) by seeing how far you can hear into the noisefloor, on any content, in any testing situation. From where I'm standing, I've made a lot of wild dither/noiseshaper experiments. I'll never forget how you hated 'Ten Nines'. But that was what, decades ago? And I've learned a lot, and I think NJAD will perform a LOT better. As you might expect with the noise profile it has, any weak point would be how it handles near-Nyquist information. I trust that you can hear that stuff, so I'm very interested in your reaction.

For anybody who's not super-sensitive to extremely high frequency information, NJAD has a lower noisefloor than anything, and lets you hear the (unaltered) sounds fading into the noisefloor better than anything. It's way, way, way quieter than TPDF. (bear in mind that if you're doing all your work dithering to 24 bit, it would be madness to expect anything like a 'huge improvement': anything we do at that level is more about mitigating incremental damage and incremental noise buildup)

Chris Johnson, airwindows.com

Last Edited By: chrisj Mar 3 17 2:56 PM. Edited 1 time.

Quote    Reply   
avatar

zmix

Aqua Marine

Posts: 3,991 Member Since:20/01/2011

#232 [url]

Mar 4 17 8:05 AM

dcollins wrote:


Testing d*ther by seeing how far you can hear into the noise-floor (Benchmark had some easy to use listening tests on this iirc) is the best evaluation.

As the simple and proven TPDF works completely as expected, is not fragile like noise-shaped methods, and is trivial from a computational standpoint it's not clear to me what problem is being addressed.



Yes, I had the same thought. 
It's an interesting experiment and the computation might use a  trivial amount of DSP,  but what happens 30dB below the noise floor?
We know that TP*F produces infinite "r*solution" in digital audio already.

Quote    Reply   
Add Reply

Quick Reply

bbcode help