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.

Holt

TL;DW: Synthy resonant lowpass filter focussed on low frequencies.

Holt

Quite a week!

So, over the last week I got a shout-out in a New York Times op-ed… that (surely I can tell you folks if I can tell anybody) is based on my own research from years back about hit record sonic characteristics. Who knew that I’d end up seeing these ideas echoed on such a grand scale?

Who knew that it would happen while my web hosting provider knocked my website (all of them!) off the internet, for overwhelming ’em with a mighty over 400 hits a day? mezed don’t rely on toy hosting, kids, even if they say it’s ‘unlimited’. It’s like the plugin industry all over again. (I’m actively scouting out much realer hosting solutions and have a plan, more on that when I have more to report)

And after all that madness: here I am again, on Sunday, putting out a plugin same as usual. Well, not the plugin. That’s a little unusual.

Holt is a plugin suggested by one of my Q&A livestream regulars, that treads the waters of professional accountancy. The plugin, that is, not the regular. As far as I know.

How is this? Simple: Holt is a method you can use in Excel for predicting sales figures based on trends. It basically uses two variables each of which chase each other to try and cut through the noise of realworld data and produce useful predictive results. My friend from the livestream thought it might make a lowpass that was more fuzzy in tonality. It did not do that thing.

Instead, I got something like a low-frequency version of Aura: a resonant lowpass like a synth filter with huge control over the extreme lows. I had to do weird things to get it to track fairly consistently over different resonance settings, because the Holt method doesn’t really have anything like that at all: turning it into a synth filter is strictly my deal. So is the multipole arrangement: this thing morphs seamlessly from no poles (dry) to four poles (24 dB per octave) with intense resonance or no resonance at all, based on how you set it.

It’s got an instance of Spiral built in to save you when you make it squawk, because otherwise it’ll blow up your bassbins and just laugh at you. This sucker is MEAN from the midrange on down. The interesting thing is, if you crank the frequency up it tames itself and reverts immediately to dry again. It ONLY does its madness on the lows, and high frequencies are completely tame and nice. You can use it as a sophisticated and well-behaved lowpass on the upper mids and highs, and it’s totally polite. It’s just when you drop the cutoff frequency down that it explodes in juicy bass.

There are even several ways to go between that and clean, untouched audio. You can raise the cutoff, or you can use the dry/wet control, OR you can use the poles control (at any resonance setting) to morph it from bassy madness to perfect clarity… because the poles control is four different dry/wet controls bundled into one. This also means that if you’re using less than one pole of filter, you’re not even running through the other stages: less processing, unless you want it.

It can act like a DJ ‘isolator’, it can act like a synth bass lowpass, it can damn near self-resonate, and all from just a couple variables (per pole) that interact strangely. It’s a neat example of extreme simplicity (like the Purest series) producing a striking result. Have fun and I hope you like it.

My Patreon is more important than ever now, because it costs a bunch of money to give this much stuff away. I think the website will hold up for a little while longer (if not, I’ll put up MediaFire links and make sure you still have access whatever my web host does) but Airwindows has grown to be big enough, that I MUST seek real hosting. And I’m gonna do it, and it’ll be awesome, but this is what you get for being a patron: I can not only do all this but update over 150 plugins and put out the improved versions and let people grab the new plugins immediately and come right back the next week and do more (Pafnuty, Holt, etc). Supporting my Patreon and letting it grow directly means getting serious web hosting so you can count on the files being there for you: if the scale of things outgrows your basic ‘yay unlimited bandwidth on a shared host!’ operation, your support means I can kick it up more than a notch. And maybe I’ll be on beans and rice for a while but you know… I really like amazing internet servers and super bandwidth. And I can share that, if I have it. So I mean to offer it. (thanks to the people supporting my Patreon and making that possible).

Pafnuty

TL;DW: Chebyshev filter adds harmonics.

Pafnuty

Here’s a nice one! Pafnuty has been much sought after, from back when it only existed as an Audio Unit. Now it’s up to date, in a new more-approachable form, and it’s VST and open source and dithered to the floating-point buss: all the good modern stuff from current Airwindows.

Pafnuty is a Chebyshev filter. What are those? Well, it’s not much like your usual filter: you don’t use this to roll off highs or lows (though under some conditions you might be able to do any of those things). A Chebyshev filter is like a mathematical formula. It works like this: if you feed it a sine wave (at exactly 0dB, or barely-clipping) it can generate entirely new sine waves to add to your sine wave. Which ones? Harmonically related ones. You can have twice, three, four times the frequency, all the way up to thirteenth harmonic.

Pafnuty’s been rearranged in such a way that when you move the sliders to the right, the harmonics add. (The old version used simpler math but gave a slightly weirder arrangement: you’d have to do 1.0 third harmonic, -1.0 fifth, 1.0 seventh and so on for them to add up in phase.) There’s also an attenuverter (which is what you get with a dry-wet control when it also allows for inverse-dry-wet: something out of Eurorack-land, which also existed on the Delta Labs Effectron. Side note about the funky old Effectron: it’s a delta-sigma converter like SACDs but cruder, and I’d been wanting someone to make a DIY-able delay like that. It exists! The Princeton PT2399 chip, which is in lots of current synths and pedals such as the Dreadbox Erebus)

Back to Pafnuty. What do you get when you run music into this sine-multiplying filter? If your audio has no frequencies that, multiplied, go higher than the sampling rate, you get perfect aliasing-free harmonic enhancement. The way the filter works, it absolutely doesn’t generate anything higher than the multipliers it works with. It’s a sort of color-adding harmonic enhancement where you can pick what kind of coloration you add (or subtract, since all the controls go both ways). If the frequencies do go higher than the sampling rate then they do alias, but the way Pafnuty resists adding extra harmonics helps it to resist aliasing and if you don’t add lots of higher harmonics you can go very high in frequency, cleanly.

This might not be the easiest plugin to come to terms with, but it makes a great secret weapon, and produces tones that don’t exist in more normal tone shapers! I hope you like it.

I also hope you don’t literally keep this stuff a secret: my work is supported by Patreon and that’s why I’m still around to make plugins like this (and update hundreds of plugins when the need arises, but that was LAST week). You can’t run around proclaiming the hype of Airwindows Apotheosis as that only backfires, but much like you can share riffs and patches and exchange ideas with people, it’s still possible to get the word out. You gotta do as I do and not lead with hitting people up for money: maybe they don’t have any, and need your and my help. But there are still people who would be able to buy plugins, and anyone who would have bought Pafnuty at $50 could jump on the Patreon for that much a year, either now or later when they’re convinced and are using it in their mixes as a key tone-shaping element.

It also encourages letting people have plugins that don’t phone home, turn themselves off, explode or send all your data to a secret laboratory. Airwindows stuff is open source and has no code of any kind to mess with you: it’s so simple you could learn how to code for audio by looking at it, and on some Mondays we do just that on my livestream. Come and see!

DitherFloat

TL;DW: Look down. Look up. Your plugins are now dithered to 32 bit floating point :D

DitherFloat

This began as a challenge. A forum poster said you couldn’t dither floating point outputs, and posted a link to a study explaining why.

Floating point (including the kind that fits between every plugin in a mix on MacOS or 32-bit bussed VST) has fixed point math of the kind one needs to dither, in a part of the number called the mantissa. (64-bit VST has it too, just more finely grained.) It’s not all that hard to work out how to apply dither to this part. You scale it up or down according to the part of the number called the exponent.

The trouble is (a) it’s hard enough getting people to dither to 16-bit CDs, and (b) the argument is that the amplitude of the dither would fluctuate madly, making it unhelpful and incorrect. This is kind of like how flat dither isn’t correct: with only one noise source what happens is, the noise floor fluctuates according to the waveform causing a kind of distortion. If you have a low sine wave you’ll hear the ripple effect of flat dither, and the argument is that dithering floating point is like that only more so (and so, nobody ever tried).

DitherFloat demonstrates this, and it’s not true. You can TPDF dither (even PaulDither, like I’m using here) floating point. The noise doesn’t fluctuate according to the waveform represented in the mantissa. It fluctuates according to the value in the EXPONENT, because it has to, because the quantization noise also fluctuates wildly in volume. And if you get it right, you end up with no truncation distortion at all, just like using TPDF to fixed point.

The video explains more and shows it working. It’s practically impossible to hear ONE stage of 32 bit truncation (may be literally impossible, I think) but you can cheat and hear it as obviously as you like. You just add a huge offset to the number, convert it to float, and then subtract the offset again: and that’s what DitherFloat does. It’s a demo. It shows you there’s still truncation in floats, and it shows you the way TPDF dither completely removes the truncation distortion. It linearizes the signal so that no trace of the truncation is present (that’s how correct dither works).

You can’t add DitherFloat after existing plugins to fix them: even though you can use it (with zero offset) to export a 64 bit buss to 32 bit float and dither it, by itself DitherFloat can’t fix existing plugins. You would have to put the code for the dithering, into every single plugin that outputs 32 bit floats. Every MacOS plugin, every singlereplacing VST (every older VST implementation before they implemented 64 bit buss). For the Airwindows library that would involve personally revising every plugin I’ve released under the VST/Patreon years, many hundreds of plugins.

So I did. :D

See the video, and to update everything you have, download NewUpdates.zip to drag and drop the whole collection (or whatever subset of it you use) to your plugins folder. Each individual plugin package has also been updated for people who download them one at a time, or find them through search. The only exceptions are plugins that are already dithers, or things like DCOffset and BitShiftGain that are meant to work with the direct sample values (BitShiftGain is purer than even 32 bit dithering: it literally changes only the exponent and leaves the mantissa always exactly as it was, only at a different gain scale, so it’s cleaner than even PurestGain). (if you need to roll back for any reason, BeforeFPDither.zip is the previous version, untouched)

It’s free. Go ahead and use all this. I don’t have to put any barrier in your way. Update the plugins for free, read the source code on my github page, and the new code is this, intentionally dual licensed in addition to my MIT license.

//This is free and unencumbered software released into the public domain.
uint32_t fpd; //this goes where fpNShape went, but it's an unsigned int used for the random generator
fpd = 17; //the random generator is xorshift32 which can't start off with zero.
//then in the actual processing code:
int expon; frexpf((float)inputSample, &expon);
fpd ^= fpd<<13; fpd ^= fpd>>17; fpd ^= fpd<<5;
inputSample += (fpd*3.4e-36l*pow(2,expon+62));
//Anyone is free to copy, modify, publish, use, compile, sell, or
//distribute this software, either in source code form or as a compiled
//binary, for any purpose, commercial or non-commercial, and by any
//means.
//In jurisdictions that recognize copyright laws, the author or authors
//of this software dedicate any and all copyright interest in the
//software to the public domain. We make this dedication for the benefit
//of the public at large and to the detriment of our heirs and
//successors. We intend this dedication to be an overt act of
//relinquishment in perpetuity of all present and future rights to this
//software under copyright law.
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.

64 bit version for hilarious overkill is almost identical but with small changes in frexp() and the constants. This is now a sort of mad community effort, so that becomes public domain too:

//This is free and unencumbered software released into the public domain.
uint32_t fpd; //this goes where fpNShape went, but it's an unsigned int used for the random generator
fpd = 17; //the random generator is xorshift32 which can't start off with zero.
//then in the actual processing code:
int expon; frexp((double)inputSample, &expon);
fpd ^= fpd<<13; fpd ^= fpd>>17; fpd ^= fpd<<5;
inputSample += (fpd*6.4e-45l*pow(2,expon+62));
//Anyone is free to copy, modify, publish, use, compile, sell, or
//distribute this software, either in source code form or as a compiled
//binary, for any purpose, commercial or non-commercial, and by any
//means.
//In jurisdictions that recognize copyright laws, the author or authors
//of this software dedicate any and all copyright interest in the
//software to the public domain. We make this dedication for the benefit
//of the public at large and to the detriment of our heirs and
//successors. We intend this dedication to be an overt act of
//relinquishment in perpetuity of all present and future rights to this
//software under copyright law.
//THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
//EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
//MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
//IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
//OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
//ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
//OTHER DEALINGS IN THE SOFTWARE.

It’s not complicated but it’s my own code and it’ll work: it’s even pretty easy to drop into other plugins. If anyone’s game to do that and shout out that they did, I’d love to hear about it.

If they don’t, they will just continue adding a little truncation with every single plugin, every single calculation, and now none of MY plugins do that :)

If you like me being able to discover something like this, becoming determined to explore it, discovering that it’s a huge upgrade and implementing it into every (relevant) plugin I make, and then giving it to the world even more than I usually do, please support my Patreon. I like days like this. I like helping the industry (to the extent it’s willing to be helped, which is always a question) and advancing the science of digital audio, and I especially like making demos where it’s plain to hear what’s being done under the hood. And I wouldn’t be able to do it if not for Patreon, which doesn’t make as much money as commercial work (I’m still very poor) but it’s steadier, and it lets me give these tools to ALL the musicians whether they’re broke or not :)

Thank you and good night. Next up is Pafnuty, next week.

StudioTan

TL;DW: StudioTan is all the ‘non-dither’ dithers, up to date and convenient.

StudioTan

Let’s make things a little simpler.

If you were curious about the new work in quantization I’ve been doing… where I’ve put out a series of experimental plugins with names like Dither Me Timbers and RawGlitters and then said they weren’t dithers, or if you tried stuff like Dither Me Timbers and then found your limiter set to 0dB was now giving you overs, or if it just didn’t make sense at the time…

This is for you.

StudioTan is the sum total of all I’ve been doing with ‘dither’ that isn’t dither, for the last two years. It’s got three algorithms, StudioTan, Dither Me Timbers, and Not Just Another Dither. Each one is brought up to date, optimized, voiced to do what it does best. The first two begin with the use of quantization to apply EQ at ‘noise floor’ levels and the third applies Benford Realness statistics at noise floor levels, and they all use noise shaping to refine that behavior and get a specific tonal result. Not one of these have been quite available before, even from previous versions of Dither Me Timbers or Not Just Another Dither: it’s the latest finetunings of the algorithms. None of them can produce signal outputs beyond -1 to 1 so they can’t produce overs (if you’re ‘mastering’ so hot you get intersample overs, firstly that’s not a great idea and secondly StudioTan can’t help you there). All three come with 24 and 16 bit options right there in the plugin, as experimenter time is over and this is the final form, requiring no more fussing with plugins.

The effect of each is more pronounced at 16 bit, and that’ll give you a sense of what is being subliminally imparted at the far subtler 24 bit level.

StudioTan is like the posh, glossy, high class output. It sounds kind of like expensive studios and tape, brings up micro-detail but suppresses harshness. It’s slick and makes things sound more flawless and possibly more boring, but satisfying.

Dither Me Timbers is like the spatially enhanced, electrically charged output. It makes sonic events spark out of a darker, spacious background, and gives a little energy to transients and attacks. It makes things sound more human and attitude-laden, so it’s more dramatic and attention-getting. It’s got different noise shaping behavior and voicing but in basic character it’s the opposite of StudioTan, and can be approached from that direction.

Not Just Another Dither is like the holographic, hi-fi output. It’s a bit darker than previous Not Just Another Dithers and its purpose is to have detail go down to a digital noise floor that’s a balance of all types of artifact (since you’re always going to have a noise floor of something, no matter what you do) without changing character in any way. Since this perceived character is so balanced (this time, not even airy hiss as a ‘identifiable’ floor change) the new Not Just Another Dither is the best choice to seem like infinite resolution without even a noise floor being there. Instead of making ‘a sound’ like the previous two, it’s the one that sounds completely open and unaffected.

None of these give sensible results with test tones: you can’t take a sine and enhance high frequency details, so you get purely garbage data. Don’t use Airwindows non-dither dithers for scientific processing or your rocket ships will blow up on the launch pad ;) these are literally tone controls in two cases and an obscure data handling technique for the third, and they are re-voiced for 2019 to best deliver their sonic mojo. You can do test tone stuff to satisfy yourself they aren’t placebo effect: they really do the noise-floor-EQing or Benford Realness stuff, and the source code is open. But for evaluating how they really work, the proof is in the listening.

What they do cannot be done any other way, and they’re the final artistic polish on sonic creations done in or outside the DAW. Use them on mixes, or when mastering raw analog captures to lower word lengths for CD. They are ‘final dither’ in function if not strict definition, the way to crystallize high-res audio data into an output file that retains all the magic you intended, whatever flavor of magic that’s meant to be. The three categories of tone color ought to cover your bases there.

I know this is all I’ll be using from now on :)

I live off Patreon and look forward to growing in 2019: the more I earn through this hard, continuous work, the more I’m able to do. Increasingly I’m fascinated with audio hardware as well as software and if I can afford to (after all, I’m still living frugally on less than minimum wage) I’ll build physical gear for people to have, most likely using Eurorack format as a platform. That probably won’t be software-based but I know software folks such as Sean from Valhalla who’ve brought their software into the Eurorack format, so it’s not impossible. So if you like me doing this for a living, support the Patreon, not so much because it’s Patreon (if you paid me with PayPal, would you be supporting PayPal?) but because it’s me, and because Patreon is unusually good at letting me concentrate on my work rather than chasing individual ‘hit products’. That might end up with me having huge hit products (I think StudioTan may well be one of those!) but it needs to be idea-first, never sales-first. And you can’t fake that :)

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.