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.

ConsoleX3 Is Out!

OK, so for the ConsoleX3 shown in the video, go here:
https://github.com/airwindows/ConsoleX3/releases
and click on the version number at the top. As of posting it’s 0.0.7 (cue theme music!) and for this repository, I’ve not been able to get Github to set it as a ‘latest release’, but that’s the one.

If you would like the standalone, no-GUI versions such as for Raspberry Pi, I have those too!
ConsoleX3NoGUI.zip (882k) standalone(AU, VST2)
If you mean to use the GUI version, don’t install the Audio Unit from this, the installer for the GUI version doesn’t want to install if there’s already a plugin of that name present.
If you want to use a surround-capable version of ConsoleX3, you HAVE to use the Audio Unit ‘ConsoleX3Mono’ plugin, because that’s the one that will run any number of channels (it doesn’t do surround panning, though, you’ll have to do that separately).

If you want to use AirwindowsGlobals and have the nice grey watercolor texture I favor, or to customize the look of it any way you want, use this:
AirwindowsGlobals.zip (158k) (text file, folder structure and jpeg)
There’s an extra folder in there telling you to put the ‘Airwindows’ folder into your Documents folder. If JUCE looks for documents files in a different place on your system then put it there instead, but on the Mac it knows to look in the Documents folder, so it goes Documents/Airwindows/AirwindowsGlobals.txt and the GreyWatercolor.jpg goes beside that file. I encourage making the Airwindows GUI plugins your own in this way. AirwindowsGlobals now has a bunch of comments telling you how to do stuff, making it easier to use.

The standalone plugins are in all the existing standalone plugin collections, but ConsoleX3 has too many controls to go into Consolidated so it doesn’t go in Consolidated. For a GUI version, go to Github and use the one I made, for the Chris vision of how wild GUI plugins can go.

Hope you like ConsoleX3! I will be bringing out the new plugins (such as Rockstar2, BezEQ4, Weave) which are either in the demo, or built into ConsoleX3 but don’t exist as standalone yet. For instance, the overdrive control ‘More’ is the ‘Weave’ algorithm and this is the first you’re seeing it, or a Console algorithm that uses the ‘derivative BIP’ thing I came up with after not successfully reinventing Signalsmith’s ‘elliptic BLEP’ antialiasing :)

All this is free and open source under the MIT license, brought to you by my Patreon.

Ultralight2

TL;DW: Ultralight2 is more of the most low-CPU matrix reverb I can make.

Ultralight2.zip (610k) standalone(AU, VST2)
Ultralight2 in Airwindows Consolidated under ‘Reverb’ (CLAP, AU, VST3, LV2)

This plugin continues work I’m doing, trying to make working demos of ideas for the Godot game engine.

Much like FastDistance is a filter that (when not pushed to really heavy attenuation of brightness) is way more efficient than using a DF1 biquad filter, Ultralight2 is a reverb that’s way more efficient than using any of my other reverbs. Why? Because it’s extremely limited. There’s nearly nothing to it, just a 4×4 Householder matrix and some tone shaping and a teeny allpass chain that runs in parallel to the predelay.

Why? Because I want to put dozens, maybe hundreds of them, into a game… and have the game still run and have room for graphics and gameplay.

This would involve placing them as ultrasimple mono instances, each with its own delay times and settings, in a scene. They’d all get fed all of the sounds in the scene, and then your environment would be composed of all the distinct spaces sounding off at once.

The controls have changed a bit! I had to do a bugfix on Ultralight anyway (redownload it if you want the tone shaping to work fully as intended). Now, rather than making part of the first delays turn into allpasses, I did further experimenting. No wonder I never liked allpasses, they sound awful unless the delay time is so quick it’s inside the ‘Haas effect’ region where really rapid echoes blur and merge… without that, they’re useless. Now all the matrix delays are normal reverb delays (which also means they can run even faster in SIMD) and then there’s another thing that goes in front…

Turns out you can use exactly the same sequence of operations to do an allpass, and a simple delay line. THAT means it can be SIMD (single instruction, multiple data). And it turns out if you set these things up right (never mind loops, just do things in fours) compilers really do optimize for them if they can. I learned that when some AMD users on retro machines got wildly worse performance than they should: your processor has to at least be able to do vector processing on 32-bit floats to run Ultralight or Ultralight2. Anything half recent ought to do it, though I’m interested in exceptions (I don’t think stuff compiled on the Pi will be using SIMD).

So now there’s Damping (same as RT60, but more damping means less sustain), but if you turn Damping to zero, rather than getting infinite sustain, now you get zero reverb… just only the predelay, dry/wet, and the allpasses. So Ultralight2 can also be used as a blurry slapback.

Then there’s unSolid and unRflec, which are the highpass and lowpass like they are in Ultralight. But there are changes here too… unSolid is the highpass, where if you turn it up the decay gets brighter and you lose bass through the walls. However, the frequencies are a bit different than they are in Ultralight. unRflec is the lowpass, like in Ultralight, where I’ve fixed a simple bug and re-uploaded it (it’s just the next week, be aware that’s happened and consider it an Ultralight Redux). However, with Ultralight, these things go from 0 to 4, incrementally adding stages of the feedback path into the filtering, and using the same paths: for Ultralight they count down from 4 which is the least filtered, and they pick the same paths so choosing 3 on both means that path is both highpassed and lowpassed.

For Ultralight2, you set it to 0 for no filtering, and 1 to filter only one path… but they come from opposite directions. So, if you set the filters to 2 and 2, you’ve just put a filter on every path, but only one. If you pick 1 and 3, or 3 and 1, same deal: you’ve affected all the feedback, but in different ways. 4 and 4 gives you full highpassing and lowpassing on every path, and so on. I just found that it sounded better that way.

You can also set the predelay to 0 and then there’s no allpassing. Each part of the reverb can be individually bypassed, just in case.

Dry/Wet is the reverb (there are no early reflections) and works as usual, except that in Ultralight2…

Distnce is the distance high frequency attentuation, just like in FastDistance, and runs AFTER dry/wet so you can hear what a sound, its predelay, and its reverb, sound like in a game engine with all of them far away from you. That’s because, like my earlier plugin VerbSixes, this plugin is the tool I use to audition possible 4×4 reverbs to add to the game engine. I paste in the new values in the header file, build it, and do a sound example to hear what it did. Especially when dialing in settings, that’s helpful. Again, this is NOT really meant for musician or mix use, though if you must run a reverb on impossibly potato hardware (that can do SIMD), this might save you.

I think this will hold me with low-CPU verbs for now. I’ve got big things in store for the flagship reverbs: turns out there’s a kind of matrix for 6x6es that’s way better than Householder, which is optimal for stuff like these 4x4s. So this work has led to some nice advances in Airwindows-land :)

Airwindows Consolidated Download
Most recent VCV Rack Module
download 64 Bit Windows VSTs.zip
download Signed M1/Intel Mac AUs.dmg
download Signed M1/Intel Mac VSTs.dmg
download LinuxVSTs.zip for x86
download Pi4VSTs.zip for 32-bit Pi
download Pi5VSTs.zip for 64-bit Pi
download Retro 32 Bit Windows VSTs.zip
download Retro PPC/32/64 Mac AUs.zip
download Retro PPC/32/64 Mac VSTs.zip
Mediafire Backup of all downloads
All this is free and open source under the MIT license, brought to you by my Patreon.

Ultralight

TL;DW: Ultralight is the most low-CPU matrix reverb I can make.

Ultralight.zip (610k) standalone(AU, VST2)
Ultralight in Airwindows Consolidated under ‘Reverb’ (CLAP, AU, VST3, LV2)

This plugin continues work I’m doing, trying to make working demos of ideas for the Godot game engine.

Much like FastDistance is a filter that (when not pushed to really heavy attenuation of brightness) is way more efficient than using a DF1 biquad filter, Ultralight is a reverb that’s way more efficient than using any of my other reverbs. Why? Because it’s extremely limited. There’s nearly nothing to it, just a 4×4 Householder matrix and some tone shaping. (all my test audio of potential patches for this reverb are even simpler, showing only the raw matrix without even tone shaping.)

Why? Because I want to put dozens, maybe hundreds of them, into a game… and have the game still run and have room for graphics and gameplay.

This would involve placing them as ultrasimple mono instances, each with its own delay times and settings, in a scene. They’d all get fed all of the sounds in the scene, and then your environment would be composed of all the distinct spaces sounding off at once.

This is the plugin version of that, so unless you can compile it with your own reverb patch (generated by IntoTheMatrix) you get the built-in space and can manipulate it with the controls. Warning, if you set the RT60 control (which is ‘damping’) to zero, you get infinite sustain! I wanted that in case some patch and combination of settings worked, when set to ‘infinite’, though I’m not sure that can ever happen.

Furnish goes from zero to four, and specifies how many of the first four comb filters should be replaced with allpass filters.

SolidWl goes from zero to four and works on the feedback paths. It’s a highpass filter that also cuts back regeneration a lot. The idea is that it’ll mimic the walls being less than solid as rock, since normal construction doesn’t contain superlow frequencies very well. Don’t expect much adjustability as it is a very cheap efficient hack for doing it.

ReflcWl goes from zero to four and works on the feedback paths. It’s the same kind of lowpass filter that’s in FastDistance, which leads to some funny behavior at high regeneration (low RT60 damping). Again, it’s a very cheap hack, as efficiency is all that matters.

Predlay is the predelay, in samples, and goes from 0 (1 for the AU) to 4096, which in Ultralight runs inside a simplified version of my undersampling, so it’ll act consistent if you’re running it at high sample rate. It’s enough predelay to account for some pretty huge spaces.

Dry/Wet is the reverb (there are no early reflections) and works as usual, except that in Ultralight…

Distnce is the distance high frequency attentuation, just like in FastDistance, and runs AFTER dry/wet so you can hear what a sound, its predelay, and its reverb, sound like in a game engine with all of them far away from you. That’s because, like my earlier plugin VerbSixes, this plugin is the tool I use to audition possible 4×4 reverbs to add to the game engine. I paste in the new values in the header file, build it, and do a sound example to hear what it did. Especially when dialing in settings, that’s helpful. Again, this is NOT really meant for musician or mix use, though if you must run a reverb on impossibly potato hardware, this might save you :)

Airwindows Consolidated Download
Most recent VCV Rack Module
download 64 Bit Windows VSTs.zip
download Signed M1/Intel Mac AUs.dmg
download Signed M1/Intel Mac VSTs.dmg
download LinuxVSTs.zip for x86
download Pi4VSTs.zip for 32-bit Pi
download Pi5VSTs.zip for 64-bit Pi
download Retro 32 Bit Windows VSTs.zip
download Retro PPC/32/64 Mac AUs.zip
download Retro PPC/32/64 Mac VSTs.zip
Mediafire Backup of all downloads
All this is free and open source under the MIT license, brought to you by my Patreon.

FastDistance

TL;DW: FastDistance is a sort of ultra-efficient lowpass filter.

FastDistance.zip (545k) standalone(AU, VST2)
FastDistance in Airwindows Consolidated under ‘Filter’ (CLAP, AU, VST3, LV2)

This is work I’m doing in efforts to help the Godot game engine. Whether or not it’s accepted by them, you get to have it now :)

The idea of the distance filter is, something you can have on every sound source in a scene. It’s gotta be efficient, because there can be an awful lot of them. It’s gotta handle wild modulations, because who knows what might be happening there in the game engine. And it’s gotta roll off high frequencies, because stuff that’s far away doesn’t sound as bright as stuff that’s right next to you.

Ideally (like with my previous Distance plugins) it’s doing clever things to put across the sense of great distance, but how clever can you be if you might have to have hundreds of sound-makers all talking at once? And so, FastDistance specifically chooses forms of treble-filtering that are dirt simple. It’s just a variation on an averaging filter crossed with an IIR. Need more? Layer on more of them. The IIR (infinite impulse response) is not there to be fancy, it’s just there because it saves me allocating one extra variable. The way it uses more or less poles of filtering is literally jumping into a pile of them and letting them go. There’s no way of controlling it other than just choosing how deeply you filter in this one particular way that’s unreasonably efficient to calculate. In fact you don’t ‘calculate’ it at all, you just use it directly.

The weird thing is it actually sounds pretty awesome.

Since it’s so efficient to run, instead of doing three or four poles of filtering, you can do thirty or forty. They run about as quick as calculating the coefficients of a regular old filter. There’s next to nothing to them. And when you take such a primitive filter and just do it more, what you get is increased cutoff steepness… but the cutoff is very high already, and it’s not at all resonant. So the intense layering just gives you a very natural sounding darkening effect, combined with taking the highs and absolutely burying them an unthinkable number of dB down. It’s just how it works. It’s not really a ‘steep cutoff’ no matter how many poles you use, and is never the least bit resonant or filter-sweepy. Just a distance through air darkener.

It’s very likely that this will find other use but for now I’m gonna see if Godot likes it (and if it’s competitive efficiency wise with the more traditional low shelf they’re using). I’m working on a system for game engine reverb that I hope will be useful, also for Godot, and I’ll have an ultra lightweight reverb soon that’s teaching me many useful things I can incorporate into my flagship reverbs.

And whatever else happens with all that, you have FastDistance as a free plugin, plus also as MIT licensed source code that you can use for anything so long as you credit. Enjoy the new lowpass :)

Airwindows Consolidated Download
Most recent VCV Rack Module
download 64 Bit Windows VSTs.zip
download Signed M1/Intel Mac AUs.dmg
download Signed M1/Intel Mac VSTs.dmg
download LinuxVSTs.zip for x86
download Pi4VSTs.zip for 32-bit Pi
download Pi5VSTs.zip for 64-bit Pi
download Retro 32 Bit Windows VSTs.zip
download Retro PPC/32/64 Mac AUs.zip
download Retro PPC/32/64 Mac VSTs.zip
Mediafire Backup of all downloads
All this is free and open source under the MIT license, brought to you by my Patreon.

Older Posts

Airwindows

human-made bespoke digital audio

Kinds Of Things

The Last Year

Patreon Promo Club

altruistmusic.com

Dave Robertson and the Kiss List

Decibelia Nix

Gamma1734

|GRENS|

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.