Airwindows Dark: Mac/Windows/Linux AU/VST

VST, AU, etc. plug-in Virtual Effects discussion
jinxtigr
KVRian
977 posts since 7 Apr, 2007 from Bellows Falls, VT

Post Sun May 31, 2020 4:52 pm

https://www.youtube.com/watch?v=T1P68kLx0rA

TL;DW: Dark is a wordlength reducer that gives your music a blacker backdrop.

Dark.zip(338k)

Some weeks are MY kind of fun…

This won't make big changes in your audio. In fact if you think you can reliably hear this on its HD setting, I think you're mistaken. And yet, this might be the funnest thing I've done all year.

Why? Because I'm back to the dithers again. I figured out a way (or two) to go EVEN FARTHER in the direction I'd chosen. And it worked: it worked super well, and you can have it. Introducing Airwindows Dark.

How does it work? It's very simple, really. Much like Not Just Another Dither (NJAD, my previous best) it analyzes the results of the audio, depending on whether the dither rounds up or down. With correct TPDF dither, it's a factor of randomness, a noise that breaks up patterns in the output. With NJAD, it runs a Benford Realness calculation and uses that (for a more natural-sounding audio output). But Dark?

It simply works out the average trajectory of where the audio's going. It's following the lower frequencies, suppressing the highs. And then it makes its choice based solely on whatever is going to further this trajectory… and keep the output as smooth as possible. It is 'dithering' with intent, doing whatever it has to in order to get a darker, softer output. All done by truncation alone.

The result is delightful, if you are into analog sonics and the absence of bright digital artifacts and hisses. It is NOT obvious, unless 16 bit artifacts are already obvious to you, and at HD (24 bit) it is purely a matter of thoroughness and making correct choices and you shouldn't be hearing a difference. You damn sure won't be able to blind test a difference (that requires much more obvious stuff happening).

But, but, but! If your experience with audio (and probably loud listening levels, and REALLY good monitoring, and amazing source files) involves sinking into a lush bed of analog-rich sonics, where you quickly notice subtle shifts in sonic attitude and then take much longer to get used to them and form your judgements… there's nothing at all like this.

It can only wordlength reduce, so especially at 24 bit it shouldn't be able to ever hurt bright sounds that are supposed to be there. It's only dithering (in a novel way). But it's doing its thing in a way that's completely outside of anything you can do with filtering or normal processing. If you need depth and space, if you need rich black silence behind your mix, this beats NJAD… soundly.

I hope you like it. The demonstration at 8 bit wordlength in the video ought to show you what to expect. Dark is yours to use (in fact, you can have the source code under the MIT license!). For now, if you are using Monitoring you'll need to switch it off to use Dark, as Monitoring defaults to a 24 bit wordlength reduction using NJAD and I'm not prepared to simply update it and have it default to Dark for all things.

Though I'm tempted. ;)

This work is supported by Patreon. Which is going quite nicely, so I'm preparing for another phase: if I break $2000 a month, anything beyond that goes to buying DIY synth hardware (perfboard, CMOS chips, etc) which I will then resell at cost… MY cost. So I'll be making chips available at 39 or 20 cents each and putting together kits to get people started, and each month I'll send out stuff for people to play with, until I've reached the budget for that month. I may or may not charge shipping: haven't decided. So if you think it would be good to start your own maker business and could use a cheap source of parts, the better I do the more likely you'll be able to get your hands on electronics parts (and I will say where I'm getting stuff, if you need to order your own at normal prices: but I'll be selling stuff at MY cost, no mark-up). I will also be writing up DIY guides and instructions, and doing videos and instagram posts about all this. That's a new goal, because if I do better for myself I intend to spread it around in significant ways :D

User avatar
resistent
KVRian
627 posts since 14 Apr, 2008 from Berlin

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Tue Jun 02, 2020 5:48 am

Hi Chris, really nice work again. It seems you are quite obsessed by Dithers :)

So let me take the chance and ask you for an advice:

When one needs to convert a wav (24bit 48khz for example) to MP3 (320kbs) would you suggest to dither it previously to 16bit? Or is it smarter to convert directly to MP3? What's your opinion on that?

Thanks.

sleepcircle
KVRian
794 posts since 28 Nov, 2016

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Tue Jun 02, 2020 7:02 am

https://www.youtube.com/watch?v=2iDrbgfPjPY This video may clear that up for you. "dither to 16-bit for mp3" appears to be the course of action to take here, but it helps to know why.
Last edited by sleepcircle on Tue Jun 02, 2020 5:17 pm, edited 1 time in total.

jinxtigr
KVRian
977 posts since 7 Apr, 2007 from Bellows Falls, VT

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Tue Jun 02, 2020 12:13 pm

resistent wrote:
Tue Jun 02, 2020 5:48 am
Hi Chris, really nice work again. It seems you are quite obsessed by Dithers :)

So let me take the chance and ask you for an advice:

When one needs to convert a wav (24bit 48khz for example) to MP3 (320kbs) would you suggest to dither it previously to 16bit? Or is it smarter to convert directly to MP3? What's your opinion on that?
If you can convert it directly to mp3, you should. If the program is going to make an intermediate stage that's fixed point, you should dither to that :)

User avatar
consordini
KVRist
351 posts since 6 May, 2020

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Wed Jun 03, 2020 4:48 am

Beautiful. Really wonderful work.
Take care :wink:

sleepcircle
KVRian
794 posts since 28 Nov, 2016

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Wed Jun 03, 2020 5:38 am

jinxtigr wrote:
Tue Jun 02, 2020 12:13 pm
resistent wrote:
Tue Jun 02, 2020 5:48 am
Hi Chris, really nice work again. It seems you are quite obsessed by Dithers :)

So let me take the chance and ask you for an advice:

When one needs to convert a wav (24bit 48khz for example) to MP3 (320kbs) would you suggest to dither it previously to 16bit? Or is it smarter to convert directly to MP3? What's your opinion on that?
If you can convert it directly to mp3, you should. If the program is going to make an intermediate stage that's fixed point, you should dither to that :)
ideally you could but--as dan worrall demonstrates--some mp3 decoders go straight to 16 bit and truncate the rest, and you can't always predict where the dang song is gonna be played back

jinxtigr
KVRian
977 posts since 7 Apr, 2007 from Bellows Falls, VT

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Thu Jun 04, 2020 5:53 pm

Ah, but you can't control what the mp3 decoder is doing, and you CANNOT 'include' dither into an mp3 that will dither the resulting 16 bit file. That's impossible. mp3 throws away the highest frequencies and faintest sounds that are what's used to dither, so you'll never get that information back out of the mp3 algorithm no matter what.

So dither if you are going to an intermediate 16 (or 24) bit fixed point file that you make the mp3 from. (and, if you are certain that the mp3 encoder takes the input and FORCES it to be 16 bit before beginning work: if it did, that would count the same as 'making a 16 bit file', but I would say to use any other mp3 encoder and not that one) Otherwise not. And once mp3 has it, you're kinda screwed :lol:

ElevateAudio
KVRist
43 posts since 16 Mar, 2020

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Fri Jun 05, 2020 8:25 pm

jinxtigr wrote:
Thu Jun 04, 2020 5:53 pm
Ah, but you can't control what the mp3 decoder is doing, and you CANNOT 'include' dither into an mp3 that will dither the resulting 16 bit file. That's impossible. mp3 throws away the highest frequencies and faintest sounds that are what's used to dither, so you'll never get that information back out of the mp3 algorithm no matter what.

So dither if you are going to an intermediate 16 (or 24) bit fixed point file that you make the mp3 from. (and, if you are certain that the mp3 encoder takes the input and FORCES it to be 16 bit before beginning work: if it did, that would count the same as 'making a 16 bit file', but I would say to use any other mp3 encoder and not that one) Otherwise not. And once mp3 has it, you're kinda screwed :lol:
So if I use the 16 bit version of Dark while bouncing a 16bit wav and a 320 mp3 within Logic Pro X, am I covered?? Or do I need to just bounce to 16 bit wav and then do the 320 mp3 conversion separately?

jinxtigr
KVRian
977 posts since 7 Apr, 2007 from Bellows Falls, VT

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Sat Jun 06, 2020 10:43 am

ElevateAudio wrote:
Fri Jun 05, 2020 8:25 pm
So if I use the 16 bit version of Dark while bouncing a 16bit wav and a 320 mp3 within Logic Pro X, am I covered?? Or do I need to just bounce to 16 bit wav and then do the 320 mp3 conversion separately?
I think you're covered. If you know you're making an mp3 from the 16 bit wav in Logic, that's probably good. I can't confirm that's how it does it, but I do remember seeing that it makes a wav/aiff intermediate file: with that, you're covered.

jinxtigr
KVRian
977 posts since 7 Apr, 2007 from Bellows Falls, VT

Re: Airwindows Dark: Mac/Windows/Linux AU/VST

Post Sun Jun 14, 2020 5:43 pm

Dark.zip(339k)

Since it's only been two weeks, here's an update-in-place! As in, this is what the plugin should have been.

Dark Redux is Dark, exactly as before, BUT now it has one added control. DeRez! Just like in the DeRez plugin, it zooms seamlessly down to 1 (or 0) bits. It's continuous, not discrete: you can do one and a half bits or whatever, play it by ear. Except that unlike the DeRez plugin, it's still Dark… so you can hear more clearly what the new wordlength reducer is doing.

It defaults to 0, which is exactly as it was before. Both the 24 and 16 bit settings derez, which means you can take it to 0 bit (silence) with 16 bit, switch to 24 bit, and the result is you're listening to 8 bit. (if you need really specific behavior, you can use BitShiftGain before and after the plugin to get exact bit values).

This makes it possible to do old school sampling effects, dark bitcrushed sounds. It also demonstrates that the Dark algorithm is a bit special, because you have to really trash the wordlength to deteriorate the tone much. It's more like a slightly noisier, slightly funkier, slightly gated grunge tone, even though the output is literally just bitcrushing. There isn't even any smoothing applied to get the 'dark' tonality, it's literally all a wordlength reducer, and with DeRez at 0 it's exactly the original Dark plugin.

If there's a problem or if you need to not see a control marked 'DeRez', my updates-in-place always leave the original file there, in this case renamed to DarkOriginal.zip(338k). They have the same ID and DAWs ought to be able to handle swapping the new one in, even on existing projects that use Dark, it's just to make sure people can get back the original release if they ever need to.

This work is supported by Patreon. I hope you like it. :)

Return to “Effects”