NaturalizeDither
TL;DW: Deterministic dither uses Benford Realness calculations for each sample.
Last and definitely not least in the dither-fest: Naturalize! This dither is often considered best by listeners. It works on every genre, at every sample rate. It adds no tonal color to the audio, and the noise it produces is quiet… but more than quiet, the noise of Naturalize has a fugitive quality where it seems to ‘hide’ behind the reverb tails, and once you start listening to the music it’s difficult to hear there’s any noise present. The sense of reality produced by the music is compelling enough that it doesn’t draw attention to the noise floor at all.
How can this be? I kept the secret for eight years but now that Airwindows is supported by a Patreon, I’m free to communicate how I did it, because my compensation is basically ‘the number of people out there who think I ought to keep working in this field’, and the more of those the better. I don’t have to keep Naturalize just to myself anymore, because it helps the Patreon when I’m generous. So, go ahead and download and use it for free (it’s running at 24 bit, use BitShiftGain to get 16 bit out of it) and here’s how Naturalize works.
Benford’s Law is a statistical technique: basically, it says that in lists of natural data, if you get rid of all the leading zeroes, the first digit other than zero is most likely to be ‘one’. That’s no matter what scale the number is at: no matter how many zeroes you have to take away to get to the first number, it’s more likely to be ‘one’ than, say, ‘nine’.
In fact, it’s ‘one’ thirty percent of the time, and the other leading digits are progressively rarer. How much rarer? I’ll give you a piece of the Naturalize code and the numbers I’m using.
byn[0] = 1000;
byn[1] = 301;
byn[2] = 176;
byn[3] = 125;
byn[4] = 97;
byn[5] = 79;
byn[6] = 67;
byn[7] = 58;
byn[8] = 51;
byn[9] = 46;
This works on sample data that varies in logarithmic scale: fortunately, audio is already that way. Something like a reverb tail is perfect for Benford realness calculations! As the sound dies away, it SHOULD fall into just this sort of pattern: millions of sample numbers, scaling down to tiny near-zero values. It ought to be the perfect picture of Benford’s law.
Here’s what Naturalize is. Every sample can be truncated in two directions: up or down, to the nearest value. So we do both, and then we run the Benford’s Law calculation on each, and we see which choice will get us closer to that perfect ‘realness’ distribution.
Then we just choose that direction :) that’s it! Each sample, we always choose the direction that will bring us closer to Benford’s Law.
This works on a statistical basis, to produce a collection of sample values that hold to what you’d get if you directly sampled ‘reality’. It erodes unnatural qualities in the digital audio, and it’s pleasing to listen to. There’s no excess energy to worry about: it’s always within one least significant bit of the target audio. And I might be able to improve upon it (I initially remembered it as having no noise sources at all, but it’s using some noise to shake up the values a bit for better distributing) but as 2017 begins, doing this gives you the best sounding dither in the world. I’d be happy to see if I can make it even better: support my Patreon, after all I came up with this thing in the first place, stands to reason I can develop it even further. Maybe I’ll make it entirely deterministic, with no noise at all. I’m sure I tried that already, but sometimes persistence pays off.
Happy holidays, I’ll have a little present on Sunday for you, and I hope things are well :)
The hype is real!!
This is awesome. I feel a little crummy for not sending out a message of appreciation to you a bit (or two) in depth of time earlier to say just that, cause it also applies with regards to your Purest and BitShift-gains et al.
All your dithers have been really cool as well; whether it’s a stock TPDF dither, or the TPDF-correct/flange-able/sonic template/tutorialistic-experimentation/dithering-sound-signature-variance-tool NodeDither (or even something like PhaseNudge, for it’s utilitarian good-to-have-/never-know-when-you-would-really-need it toolkit empowerment). That being said, to me this one actually does exceed the awesomeness threshold, albeit by a bit, than what preceded it.
Thank You.
Really appreciate all the recent plugins! Great work
Would a dither like this help protect against the artifacts you get from uploading to Soundcloud or converting to a low-quality mp3?
I am happy to send you $12 that equates to a year of Patreon, but I have recently moved country and don’t know how long the money in my old account will be there as random bills keep rolling until that account ends. So the Patreon thing wont work, and wont let me do one payment.
So if you have a paypal I can just put money into for you it would be a pleasure to show my appreciation.
Cheers… :)
You say (minute 14), that this is 8bit, but you havn`t changed anything in Bitshiftgain. What can`t I see?
To use Benford`s Law is great!!!
You say (minute 14), that this is 8bit, but you havn`t changed anything in Bitshiftgain. What can`t I see?
To use Benford`s Law is great!!!
You say (minute 14), that this is 8bit, but you havn`t changed anything in Bitshiftgain. What can`t I see?
To use Benford`s Law is great!!!
To use Benford`s Law is great!!!
You say (minute 14), that this is 8bit, but you havn`t changed anything in Bitshiftgain. What can`t I see?
To use Benford`s Law is great!!!
You say (minute 14), that this is 8bit, but you havn`t changed anything in Bitshiftgain. What can`t I see?
Mind = Blown…
Let me take a second and say I didn’t realize I had to check back here to get new plug-ins. I signed up, what, like 6 months ago? So when I reinstalled my OS a few days ago I checked back and here there’s like 15 new plug-ins to download and play with! Awesome. I started at the top of the list with Naturalize and an introduction to Benford’s Law and wow that did not disappoint on several levels. I’m looking forward to testing integrating this into my mastering and mixing workflows.
I think this is probably a naive question so I’m sorry.
What does dithering audio do? Why would I want to do it? I’ve tried some of the other dither plugins and I had trouble hearing what they were doing.
P.S. I love your plugins. The one I use the most is “Density.” I’ve found it’s useful in literally every audio project I’ve worked on since discovering your website. Thank you so much.
It’s for reducing wordlength in digital audio. Like if you were making a CD out of what you work with in your DAW? There are a lot of other things you might focus on first, unless you’re super interesting in making natural tone colorings first and foremost. The easiest way to actually hear (not subliminally hear) what a dither plug is doing is to exaggerate it: use a very low bit depth. I do that in the videos so you can hear what it does over YouTube :)
Hi Chris, I’ve only very recently discovered you and am enjoying dipping my toes into your work.
The other day I downloaded and installed Naturalize, (Windows VST) went to load a preset, but no presets were there. I’m at a loss to find what I might have done incorrectly at installation. The only thing I did after opening the .zip file was delete the mac folders.
I don’t know if it’s relevant, but I use Reaper.
I would greatly appreciate any help,
Thanks,
Pete
But there aren’t any presets on Naturalize. It’s just there :) there are no controls, why would there be presets?
Hi Chris, thanks for replying! Um…..well, I didn’t know it was just there. But now I do :-)
I’m loving Density – it’s such a lovely, musical saturation and I’m spreading the word!
Thanks again,
Pete :-)
You can save your own presets.
Page 39 of the manual tells it all:
https://www.reaper.fm/userguide.php