Menu Sidebar
Menu

Chris

Hi! I've got a new plugin you can have! These plugins come in Mac AU, and Mac, Windows and Linux VST. They are state of the art sound, have no DRM, and have totally minimal generic interface so you focus on your sounds.

PaulDither

TL;DW: Single pole highpassed TPDF dither.

PaulDither

As long as we’re making TPDF dithers, here’s something worth noticing, and a shout-out to a great person.

In a public Facebook discussion on dither, Paul Frindle (Sony Oxford, and the DSM 2 ‘prismatic compressor’) suggested his own preferred solution, in general terms: “The one we use most is triangular single pole high pass dither. It not freq bent enough sound odd, but is slightly less audible that flat dither. It can also be easily made by taking one sample of dither away from the previous one – this gives you the triangular PDF and the filtering in one go :-) “

The great thing about this is, we don’t have to get his code to be able to do that. In fact, I’m not: I’m using a sample of dither, storing it to be the previous one, then taking it away from the next sample of dither (which is backwards from what he suggests). However, the effect is the same: TPDF single pole high pass dither.

The coolest thing about this is, it’s actually twice as CPU efficient as normal TPDF! You store a dither sample (random generation is a pretty CPU-hungry process when done properly, and it sounds better when you don’t half-ass it) and then you use it again for the highpass! So not only is it just as good as regular TPDF, it’s cheaper to use.

Thank Paul for that, not me. (though I do have some ideas about ways to tweak it: I think I can put a cancellation node right where the ear is most sensitive and make the noise ‘quieter’. Paul’s no doubt already tried this and didn’t like it as well, but hey, I’ll try it too and let you all try it, for free. Paul would know exactly what I’m proposing to do as soon as I mentioned a ‘node’, and it’s nearly as cheap to run as his highpassed dither, but not quite)

So what do you get? Well, this is still a TPDF dither, so you get mathematically correct dither that doesn’t fluctuate in volume. You don’t get ‘the Sony Oxford’ dither, because I don’t have Paul’s code. But you do get the Airwindows implementation of this general concept, and I probably have it sounding pretty good in my own right.

The tone is brighter because it’s highpassed. That makes it a quieter bed of noise, and there’s a sort of silky, not-harsh quality to it that’s nice. I think it does affect perceptions of brightness and the tonal quality of the mix, so it’s a choice, not ‘the automatic correct option’. It’ll give a ‘sound’, and focus your attention differently, towards detail and a subtle revoicing of the track. If you mix through it, your choices will be conditioned by this way of hearing (remember, use 24-bit dither like this when monitoring on a DAC that takes 24 bit input, and your 24 bit files will also match what you hear: putting dither only on mixdowns is silly and misleading)

If I was going to use just a TPDF dither, it would be this one every time, because it’s not just a TPDF dither, it’s silky and sweet and a bit quieter than the usual kind. And just as Paul told us freely what the basic concept was, so Airwindows PaulDither is free. Thanks, Paul :)

TPDF Dither

TL;DW: TPDF Dither.

TPDFDither

This kicks off a pretty big Airwindows project: porting all of my dither and noise shaping algorithms to VST for free. Technically, I have a for-pay plugin that contains them, and ought to wait for that funding goal: however, Ditherbox has always contained stuff that’s in other free plugins and serves as a convenience thing, so I can reserve that and let people have the stuff that does the work.

Oh, and Naturalize: that one’s neither a dither nor a noise shaper, and it’s the best of all, and was formerly available ONLY in Ditherbox, which was a specialized tool that sold in very small numbers. So, I’m sitting on something pretty explosive, and you’ll have it well before Christmas unless I get hit by a truck :) then, you can hear all your new goodies for 2017 better than you’d ever imagined, because all these work at 24 bit for high-res file making and monitoring through great converters that take 24-bit audio.

But I digress (because it’s exciting to be doing this). Back to TPDF Dither.

TPDF is the industry standard technically correct boring dither. It does nothing strange or interesting, makes no effort to optimize the sound in any way (generally if you make it better for something it’s worse for something else: even Naturalize only has a limited amount of output bits to work with.)

TPDF uses two sources of noise to make what’s called a Triangular Probability Density Function, which gives it its name. If you had only one noise source, you’d get what’s called flat dither (I’m not offering that, but it’s in Ditherbox, along with truncation.) When you only have one noise source (at the correct volume, which is one bit wide) you get dithering and sounds correctly transition into silence instead of going insane with grating gnarlyness (which is what happens with truncation, anywhere and everywhere it happens) but with only the one noise source you get an effect where the noise level flutters and shifts depending on what the audio’s doing. I demonstrate this in the video, it’s quite noticeable.

With the two noise sources, TPDF transitions sounds into silence, and still keeps a totally unvarying noise profile. In a very real way, this is more analog-like. All analog circuits get some noise, and all analog circuits let sounds drop beneath that noise exactly like TPDF dither does.

That’s not to say it’s the only choice you can have for dithering: I’ll be offering up different ways to dither for weeks, each with their own interesting sound signature. I’m just saying, for what it is, TPDF dither works extremely well. If you don’t have good reasons to use something fancier, or you want something guaranteed to work on everything in any situation, TPDF dither’s the one for you. Airwindows TPDF dither is a nice high-resolution well-coded implementation, one that does the truncating for you so you can compare it (for instance, with BitShiftGain like in the video) but it’s also exactly the same as any other properly done TPDF dither out there. There’s no fancy tricks, it’s just the boring but useful TPDF dither.

I guess there are a few Airwindowsy things about it but they’re not sound quality related. If you’re using the AU on Macs, it’s ‘N to N’ meaning it works on quad and 5.1 channels automatically, and is more efficient on mono channels. And just like all the Airwindows dithers that are coming out, it is 24 bit only and has no controls. That means if you want 16 bit you could get the AU Ditherbox, wait for it to be ported to VST, or use two copies of BitShiftGain that I just released. (I’m discouraging emphasis on 16 bit because I think it’s obsolete and should be deprecated.) This also means if you’re using TPDFDither as intended, it’s a ‘non-fiddly’ plugin that won’t distract you. There’s no window, no GUI, no reason ever to open it in the DAW: if you’ve placed it in the correct spot you can see it there (clearly marked TPDFDither) and that’s all you need to know.

Making plugins that simple and self-effacing is a very ‘Patreon-supported‘ thing to do. When you have to sell plugins to stay alive as a company, you’ve got to keep them in your users’ faces and distract people to make them think about you, lest you be forgotten. This competes with the creative urge and gets in the way. Making plugins that are ruthlessly minimalistic to the point of being almost not there, is the opposite. Your music has to be the focus, so the plugin has to have the goods sonically but also be non-fiddly, because it’s sort of ugly and boring and not fun to play with.

I continue to delight in the latter. Let your music be the focus. Hope you enjoy TPDF Dither, and expect a lot more plugins of this nature, as fast as I can reasonably release them :)

The original download for this plugin (which has been updated to have a 16/24 bit switch and a DeRez control) is TPDFDitherOriginal, here in case you need it back for some reason. It’s the same ID so you can’t have both enabled at once :)

BitShiftGain

TL;DW: The ‘One Weird Trick’ perfect boost/pad, with a catch!

BitShiftGain

Just when you thought we were done with gain…

In order to support the next set of Airwindows plugins, which are dither plugins both common and bizarre, here is one final trick for clean gain aficionados.

Turns out the only way to get cleaner gain trim than PurestGain, with its high mathematical precision and noise shaping… is not to do any of that. No fancy math, no noise shaping or dither. Just a very narrowly defined boost or cut, in the form of a ‘bit shift’.

Doing this means your waveform is scaled up or down by increments of 6 dB exactly. No 3 db, no 9, no 7 or even 6.001! Only 6 or 12 or 18 and so on, up or down. Select the number of bits you want to shift, and BitShiftGain applies the exact number, not even calculating it in floating-point through repeated operations: from a look-up table to make sure it’s absolutely exact and precise.

And when it does, all the bits shift neatly to the side inside your audio, and whether you lose the smallest and subtlest or gain up and fill it in with a zero… every single sample in your audio is in exactly, EXACTLY the same relative position to the others. Apart from the gain or loss of the smallest bit, there is literally no change to the audio at all: if there was a noise shaping, it would have nothing to work with.

Perfection, at exclusively increments of 6 dB. That’s the catch. You probably can’t mix with gain changes that coarse (though it’s tempting to try!) but here’s what you can do: you can take 24-bit dithers, gain down 8 bits in front and 8 bits up after, and have a perfect 16 bit dither. Or a 17 bit, if that pleases you… or shift 16 bits down so you can hear what your dither’s noise floor acts like (we’ll be doing lots of that when I start bringing out the dithers). +-16 bits of gain trim is a very big boost or cut. The overall range of BitShiftGain is huge. But the real magic of BitShiftGain is the sheer simplicity of the concept. Provided your math is truly, rigorously accurate and your implementation’s perfect, gain trim with bit shift is the only way in digital (fixed OR floating point) where you can apply a change, and the word length of your audio doesn’t have to expand, AND every sample which remains in your audio continues to be in exactly the same relation to all the others.

Digital audio is like some crystalline structure: it’s fragile, brittle, and suffers tiny fractures at the tiniest alterations. There’s almost nothing you can do in digital audio that’s not going to cause some damage. But as long as you stick to 6 dB steps and rigidly control the implementation (BitShiftGain doesn’t even store the audio in a temporary variable!), you can chip away at that least significant bit, and the whole minutes-or-hours-long crystalline structure of digital bits can remain perfectly intact above it.

BitShiftGain is free, of course. It’d be weird even to consider charging for a position on every DAW’s fader. But if you like knowing that I’ve brought you a refined and super-strict version of this magical perfect-gain trick, as AU and VST, and especially if you’ve learned something through it, please support my Patreon. My job is working out this stuff and bringing it to you in plugin form, even (or especially!) if it seems like not the most commercially trendy plugin ever seen. Your job is to pitch in a buck a month (or more if you like) and find other people who can spare a small totally voluntary contribution, and keep ME on the job. :)

PurestGain

TL;DW: High-res noise shaped gain, with smoothed fader.

PurestGain

Marking the 200th plugin in Airwindows’ ‘AU’ category (not perfectly accurate, but yay anyhow) is PurestGain, in VST-enabled form!

What’s to explain? It’s a gain utility. :D

No, seriously, that’s what it is. Here’s why some folks are a fan of this plugin anyway, even though every DAW has this as a utility plugin, plus the DAW faders built in.

Firstly, gain is processing. When you apply even a simple gain change, it expands the word length of your digital audio out to arbitrary size. PurestGain comes from a set of plugins I did to experiment with the extremes of digital audio accuracy. You might think digital audio is automatically accurate, but that’s far from the truth. We hear degradation in the resolution domain as flatness, cardboardy-ness, and it’s cumulative. I don’t think anybody can hear the difference between PurestGain and a DAW utility gain plugin, when just a single plugin is in the signal path… but it’s cumulative.

Also, you can’t be sure that a gain plugin is truly minimalist. If a plugin takes in floating-point audio of great quietness, and multiplies it by 1.0… that’s a math operation that can force the result into the same floating-point ‘level of resolution’ as the 1.0. Floating-point is treacherous, and the damage done is still very subtle but again is cumulative.

PurestGain takes the input audio and does the gain processing at ‘long double’ resolution. It then noise shapes the result back into the DAW audio buss, whether that’s a 32 bit buss for normal VST and AU, or a double-precision 64 bit VST buss, if available. The result is an ultra-high-precision gain plugin that refuses to lose any audio quality. It’s the plugin equivalent of using switched attenuators with precision resistors in a mastering console, rather than potentiometers.

There’s one more trick PurestGain has up its sleeve: a second control especially for fades. The trouble with DAW faders is that they must serve two masters: they’ve got to adjust smoothly and avoid zipper noise (crackling while you move the control, most clearly audible if you get a low-frequency sine wave going and then manipulate the control) but they’ve also got to snap instantly to a position if asked. The second slider in PurestGain runs in series with the dB gain control, but it functions very differently. One way to resist zipper noise is to have the gain smoothly ramp between volume settings, and that second control is designed for human-performed gain rides. Map the fader on a control surface to it, do your active mixing, and PurestGain will smooth every fader motion until it’s as fluid as any real-world analog console: try it with sinewaves and see how flawless the result can be.

That’s a surprising amount to say about a gain plugin, but that’s Airwindows for you :)

PurestGain is free. The way I get compensated for these plugins, after a decade of commercial work, is through Patreon. Why? Because it’s that important to me to put working, useful, high-quality plugins in the hands of musicians and producers. Back in the day when I got started, people were getting paid and were able to pass that along to software and hardware makers. I think people should keep getting good tools whether or not the industry’s really thriving well enough to support it, so Patreon is my choice: when enough people hear about it, the cost of me doing this work can be spread out among so many people that it’s not a burden. Also, it’s steadier than the boom-and-bust economics of releasing individual plugins for $50, which tends to force you to only release really mass-market types of plugins, and pander to only what’s most popular.

Newer Posts
Older Posts

Airwindows

handsewn bespoke digital audio

Kinds Of Things

The Last Year

Patreon Promo Club

altruistmusic.com

Dave Robertson and the Kiss List

Decibelia Nix

Gamma1734

GuitarTraveller

ivosight.com – courtesy Johnny Wishoff

Podigy Podcast Editing Service

Super Synthesis Eurorack Modules

Very Rich Bandcamp

If you’re pledging the equivalent of three or more plugins per year, I’ll happily link you on the sidebar, including a link to your music or project! Message me to ask.