VinylDither
TL;DW: Retro ‘groove crackle’ dither with fuller sound.
To explain this dither, I’ve got to talk about SACD (DSD) a little.
There’s a super-hi-fi digital format known as DSD (direct stream digital). It uses a sample rate in the megahertz, but not as many bits (as few as one, even!) and is tricky to work with. It’s a bit like having Class D amplifiers: those also use an incredibly high frequency switching system, and produce a clear, fluid sound that totally lacks some audio flaws.
DSD is like that. There are some things it does incredibly well, and other things it gets wrong. Notably, it’s incredibly good at delivering accuracy on deep bass notes, but it’s all over the place on supersonic frequencies and can produce a ‘splat’ of high-frequency overreaction if you drive it too hard there. The performance of DSD increases as frequency lowers. All its ugly is reserved for the super-highs, but nothing comes close in the midrange, low mids, bass and so on. That’s fundamental to how the format works: accuracy becomes a statistical pitch-related thing and the deeper you go, the more of a lock DSD has on the sonic truth.
What if it was possible to emulate this behavior in a dither? First, you’d need to use a really intense noise shaper, not just dither noise. Then, you’d have to make it have the same frequency-related thing where lows get increased accuracy. And lastly, you’d pay the same price: it’d drive the error of the system into the highs and do a lot of unpredictable, ugly things there.
Meet VinylDither! It’s the extension of an old dither I had called Ten Nines, which does exactly this. With Ten Nines I was able to get a noise floor under -200db on 16 bit audio (if I remember correctly)… but only at frequencies ten hertz and below! It also spit out loudish crackling noises at high frequencies. The experiment worked, but not everybody loved it.
However, if you weren’t paying close attention, the noise behavior was kind of like record surface noise, and that gave me ideas.
VinylDither is the result of pursuing those ideas. It’s a dither/noise shaper which completely removes the ‘steady white noise’ noise floor of normal dithered digital, and replaces it with a more crackly, surface-noise kind of sound. That’s produced from storing up error energy that would mess up your midrange and bass, and releasing it in bursts and sparks. VinylDither is the first of three dithers I’m releasing that are professional quality, boutique dithers and sonically better than TPDF. If it’s really important to you for your noise floor to be featureless and sound like white noise down there, you won’t want this. However, if you’re an analogophile and like vinyl records, you’ll instantly recognize the ‘vibe’ of this one. It does an incredibly good job at giving ‘vinyl’ clues down at the threshold of hearing but this is not a ‘sound effect’ being added, it’s the natural digital error being rearranged to get that effect.
So, if you want ‘vinyl’ effects added to your mix so it sounds like a retro vinyl record coming off the computer, this is the single subtlest way you can do that, plus you could combine it with other things (like the Audio Unit ‘ToVinyl’ which does elliptical EQ and has an amazing groove wear emulation built in) and get a completely different vibe. Wrecking your sounds with heavy overprocessing isn’t necessary! You can just pick specific things to give a more subtle vinyl feel, and VinylDither is the perfect dither choice for it. Yes, it’s got more depth and warmth and vibe than plain old TPDF (or truncation), but I think the interesting part is examining the faults of VinylDither (crackling noises, not smooth noise) and understanding how they can be turned into advantages (crackling noises OK, do not correct! As it says on my vinyl copy of Live At Leeds cooge )
If you want me to be around doing this kind of thing, please support my Patreon. If it gets to $800 a month (to live on! Airwindows is my only job and has been for a decade!) I start releasing the for-pay plugins this way, as free VST and AU. This includes Ditherbox, and ToVinyl. So that’s an exciting goal to reach for. Also, I’m considering an intermediate goal: $600, and I port everything VST to Linux VST, both what’s out already and what’s to come. Links to how one makes Linux VSTs, welcomed (I’ve already installed Linux and am setting it up to do this, but it’ll be a lot of work to do the porting, there are already dozens of Airwindows VST plugins and more are coming).
This has been revised with a 24/16 bit switch and a DeRez control letting you audition the dither or use it for low-bit purposes: the original one is still available at VinylDitherOriginal but you can’t have them both installed at once as they have the same plugin ID.
A few links to people/groups/sites who may (will) be able to give advice on the Linux VST ports:
http://www.juce.com
kxstudio.net
gareus.org
github.com/falkTX/DPF
Also, the devs at:
harrisonconsoles.com
ardour.org
may have some knowledge, though they’re more focused on the LV2 plugin standard.
Also if you’d like some help on setting up your audio on your new Linux install, email me. I’ve used Linux for 18 years and I use it professionally for audio. (Although if you get in contact with Robin Gareus or Paul Davies from the Ardour project, I’m sure they would help you sort it out from a programmer’s POV, which is probably what you want.
Hi Chris,
Sorry to necromance this post, but it’s interesting to hear your take on dsd! I did an experiment recently where I took some dsd vinyl rips I made, converted to 32 bit float with 8:1 decimation in XLD (no dither), imported into a pro tools 32 bit float session, and bounced to 24 bit trying different dithers.
To my ears, the only thing that even came remotely close to sounding as good as your njad was pow-r type 3, and I still wasn’t happy with that one.
I kept switching back and forth and talking myself into the other ones, but every time I came back to the njad bounce my eyes literally got bigger. The bass with njad was chest rattling compared to the other bounces. Sounded very close to native dsd. May be worth noting that I was playing back on an oversampling multibit dac, so basically dsd–>pcm without the usual delta sigma modulation of most dacs.
Speaking of dsd’s flaws, I wonder what you think the ideal archival format would be. After recently reading an AES paper about the flaws of dsd, I came away thinking that, rather than dsd, which is basically the output of a 1 bit delta sigma modulator, it would be a format that is the output of a 3 bit delta sigma modulator, perhaps with one of your dithers instead of the proposed (by the aes paper’s authors) tpdf :)