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.

LRConvolve3

TL;DW: LRConvolve3 gates one channel by the other, roughly or cleanly.

LRConvolve3.zip (502k) standalone(AU, VST2)
LRConvolve3 in Airwindows Consolidated under ‘Utility’ (CLAP, AU, VST3, LV2)

So the LRConvolve plugins are all audio manglers, capable of doing awful things to a sound, or turning an innocent voice into the Swedish Chef just by inverting that voice at audio rates. It’s inherent to the convolution that you can flip the phase of a sound with another sound, and this is where things get most gnarly, even if you’re convolving stuff with simple sine tones.

But what if you wanted to do that, but cleanly?

Well, there’s degrees of ‘cleanly’, but LRConvolve3 exists to sit alongside the other two, looking cute, for when the full convolution is just too intense. And it does just that: the same, but ‘cleanly’. How? You pick one of the sides, and full-wave rectify it. There’s another control simply named ‘smooth’ (not the same as the Bezier control-smoothers I’ve been coming up with, this is from the same time I was doing the original LRConvolve) and all it does is add a time constant, turning your sound from full-wave rectified into basically an envelope that decays.

And that’s all you need to get the effect of ‘one side turns into the gate for the other’, either responding very crisply with Smooth turned all the way down, or using Smooth to make it a trigger input for the gating of the other. I demo it on a guitar taking the shape of drums, and then on a racecar fly-by also taking the shape of drums. You’ll probably look to more percussive sounds to supply the gating, but you can do whatever you like: for instance, do something extra through passing a sustained chord on the ‘sound’ side, and then routing a bass part or whatever into the gate, and you’ve got some extra overtones that are attached to the bass part and follow its attacks and dynamics. Or a drum spot mic, or a literal timing click: if you have to stretch a too-brief sound, that’s what Smooth is for.

While I work on more glamorous and dramatic plugins, it’s nice to drop a little widget that just does what it’s supposed to. Hope if it ever finds a need, it comes in handy. Like many utilities, LRConvolve3 could find many surprising uses, and it’s nice how it ties its effects so completely to other sounds you have around. That helps make each use unique :)

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.

Dynamics3

TL;DW: Dynamics3 morphs between vari-mu and expander!

Dynamics3.zip (694k) standalone(AU, VST2)
Dynamics3 in Airwindows Consolidated under ‘Dynamics’ (CLAP, AU, VST3, LV2)

This is an essay in finding what something’s meant to be, and then running like mad to expand it.

What was once a Bezier-spline compressor with extra release speed if you needed it, turned into that, further tweaked, but with vari-mu: it modulates dry/wet now, not just amplitude. Does that make it a Fairchild? Absolutely not, in fact I didn’t even reference Fairchild sounds in developing it. The way that was dialed in was to get the sound, not to get ‘that’ sound. Yes, vari-mu references a vintage beast, even an expensive one, but it’s also a simple description of what happenes to ratio (mu) and it brought so much to the behavior of Dynamics3 that it stands on its own.

And yes, ratio can be adjusted through the dry/wet, meaning this version of Dynamics can naturally take on 2-buss duties without breaking a sweat… but it’s not a dry/wet, it’s an inv/wet. Normally, that has a specific meaning: you can apply the plugin, or you can subtract it to produce the opposite effect. Does this subtract the compression, hence the ‘invert’ part of the control?

No. What the inv/wet does, is let you do the opposite of compression, adjusted to get as close as possible to what the result SHOULD be if you got the perfect expanded sound as a complement to the compressed one.

That’s phrased a bit awkwardly, I’ll try again. If you have a compressed sound, and the start of transient attacks is a little dynamic ‘pop’ before the compression hits, the ‘inv’ range gives you an expansion, where the start of the transient is suppressed and then the volume flares up after that.

How much? It’s sensitive to threshold, and to release speed. Back off on either one, and the expansion will back off too. Or if you ramp it up, it’ll go into distortion but that’s better than the kind of spikes you’d otherwise get. If threshold is almost, but not quite, 1.0 (pure 1.0 is also a bypass to the plugin) then full inv (expansion) leaves everything much quieter, because it’s expanding down from that point. It doesn’t go to complete silence because it’s not a gate. If you speed up the release time, this also helps it not go to crazy expansion boosts, just like if you’re heavily compressed, faster release time will help it not be squished into silence.

The thing is, though, it’s almost not worth trying to put it into words. The whole Dynamics3 experience is that, if you have a sense of compression, you should be able to dial that in effortlessly and immediately. Attack to get the speed of attack, release for how fast it springs back, threshold down to where it does what you want, ratio (dry/wet) for subtlety, boom. If you don’t have a sense of compression, this plugin will teach you and make it seem easy and discoverable, as it should be.

Then, with one slide from compression to expansion, it can broaden the impact of transients until they’re dense and solid, or it can flare up the body behind a thin percussive attack, or pretend it’s a gated reverb effect, or de-ambience a room sound, or all those things combined, to taste, with exactly the same controls (under the hood, it’s a whole different algorithm, but it’s meant to feel like an extension of the same thing).

…as it should be.

Dynamics3 has been getting revision after revision, to get it to this place: coming out as the first glimpse of what’s going to be an amazing new ConsoleX3, where all the parts are this good and work this well together. If you’ve ever liked anything about any of the Bezier spline compressors… this’ll probably be your new favorite, as it is mine. All the others are of course still there, it’s just that I can’t imagine you needing them now :)

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.

Longhand

TL;DW: Longhand is an experiment in softclipping.

Longhand.zip (505k) standalone(AU, VST2)
Longhand in Airwindows Consolidated under ‘Saturation’ (CLAP, AU, VST3, LV2)

A sine is a very interesting thing, in part because it’s so very simple.

Think of a circle. A sine (and cosine) is what gives you that shape. It’s a simple arc in space. If you use the mathematical function sin(), it gives you a waveshaper, but if you don’t clamp it to half of pi (a constant called M_PI_2) you get a wave FOLDER for your trouble. As your wave gets louder it starts to wrap around again, first to zero and then all the way to negative 1 (the output of sin(), no matter what the input, will return something between 1 and -1).

Very simple, and it’s the waveshaper with the absolute gentlest transtion between linearity and clipping. Interestingly this means there’s a sharp transition at exactly zero when the rate of curvature flips, and this gave rise to my plugin Spiral (and newer versions of Channel), but as a simple function sin() has the softest clipping anything can have.

Does that make sin(), in every C compiler and every computer, perfect?

There’s a catch. To implement sin(), nothing out there really does it in the cumbersome, calculating way. There’s optimizations. As you hit exactly 1.0 (or -1.0) in the output, that’s when you can begin referring to a lookup table, but backwards. You can store a series of values and interpolate between them. You can build a dedicated hardware unit into your CPU to do it, or your GPU. You might get ambitious with this, since you’re probably drawing triangles and can’t be bothered with details. sin() is simple, but implementing it can be hacktastic. And of course it’ll still be perfect, because it’s math and it’s a computer, and what else could it be?

Longhand’s an experiment in checking this notion, for the purposes of audio.

First, there was PurestSaturation. It uses a form of approximation known as a Taylor Series, where you make a temporary number, and keep multiplying it by itself, and then alternately adding and subtracting the results by very specific amounts. The purpose of PurestSaturation was, ‘what if we make a sin()-like saturation, but intentionally use fewer terms than you’d normally have, so there’s less math in it? and then to top it off, what if we only use powers of 2 for the adding and subtracting and the scaling, so we’re retaining the mantissas of the temp variables even though our sine isn’t accurate anymore? It’ll be close, but it’ll be a different thing. What happens then?’

And so, that’s PurestSaturation. TapeHack has some similarities to this. Both are intentional departures from the majesty of sin().

But… what if we put our working variables in long double precision just for sheer overkill, and then rather than departing, we worked out LOTS of terms for a Taylor Series of sin(), beyond the point that even long double can follow? For starters, we are only doing simple multiplies and additions and subtractions. That’s all a Taylor Series is. What that does is, rather than model a sine in discrete quadrants and mapping it to where it’s needed, we’re calculating the wave as ONE continuous function. Every new term means more calculation, but also another layer by which this continuous function can wrap around, wavefold again and again, and produce a sine as a result.

Once we stop adding more powers to the temp variable, it stops being a sine and becomes a runaway wave-shaper, producing an output that’s no longer countered by a higher order of temp variable pushing the opposite direction… and at that point we have to clip or otherwise stop, or we get infinity out of the equation. It’s never a perfect wavefolder unless it’s infinite processing… but one thing it is, is a continuous function. It’ll wavefold around without ever transitioning to a lookup table or using any sort of optimization. Longhand, in a word.

What does it SOUND like?

The answer to that question is also why the dry/wet control doesn’t work as expected. Turns out I followed this one all the way through to release, without removing one little detail: it includes ‘dry’ in its gain trim, which can slam the processing right up to its final, no-further-wavefolds, ultimate peak. I had some consternation trying to figure out what I was even doing but that’s what it was. The maximum gain (substantial!) is what it takes to get Longhand to its final peak. The inputs are hardclipped, -1.0 to 1.0, for that exact reason and no other. There’s a taper to the control but 0.5 is not unity gain, it’s just pretty close to it. All of this was so I could run dry into normal ‘sin()’ and then subtract it and use BitShiftGain to bump up the delta and see what, if anything, was there.

And there really is the tiniest difference between the math library, optimized one, and Longhand. It made sounds when nulled out in this way. Does that make Longhand better? It’s certainly the tiniest amount more linear as the waveform rounds over the top, because it’s continuing the same algorithm. Now, of course, the dry/wet is returned to its original purpose… sort of. But since it’s not true Dry, it instead is an output that can boost past clipping. Any DAW that can run Longhand is a floating point buss, so you can pad it down again, getting a dry/wet where you’re effectively blending between dry and a soft-saturation that’s also lowering its clip threshold as it goes. Or, you can ignore dry/wet unless you’re using Longhand for an ultra soft clip and it’s not soft ENOUGH. If you’ve got any Dry in the signal and you’re not clipping the output, that guarantees Longhand is giving you a softclip that’s even softer than sin().

This was an experiment that got out of the laboratory since I’ve been scrambling so hard to finish up more demanding plugins. If you leave dry/wet out of it, Longhand is the purest and most continuous of soft saturators. Apologies for the odd behavior of the dry/wet, it got past me and there is so much else to do that I’m going to have to let it stand. Apart from that, is this a giant improvement over math_library sin()? No, because there’s no way to have it be a big change and also still be sin(). But it is different, in that it’s a very very high accuracy approximation that is continuous through the point where the math library uses an approximation, mirroring, and quadrants to return a result from any value you pass in.

This is not that, it’s very restricted and goes the cumbersome long way round to return a value. But if there’s fluidity to be had by working the answer out in longhand, this is how that’s done, and that’s the experiment.

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.

Density3

TL;DW: Density3 refines Density to keep up with recent developments.

Density3.zip (515k) standalone(AU, VST2)
Density3 in Airwindows Consolidated under ‘Distortion’ (CLAP, AU, VST3, LV2)

This secret weapon’s seen a little fine-tuning.

Density’s one of my first plugins. Its power is in using sin() based overdrive combined with a very gentle highpass, one that can dial back the amount of saturation on heavy basses… while allowing it through anyhow using the dry/wet control. It’s an incredible dirt-shaper for refined work.

But what if it used the technique from PurestSaturation? That’s Density3: finally an upgrade.

But there’s more! Turns out the negative Density range enjoys a change too: it blended better with a phase-flip. I could have known it needed one, except nobody constructs inverse saturations like this, as it doesn’t seem like a useful sound. Until you take advantage of its gatey qualities to dial in tone, between -1 and 0, that keeps the nature of the tone the same but dries up its quieter regions, as subtly as you’d like.

This is out because another dev I know was looking into Density2, and wanting to shoot it out against his own algorithms. I said, just so you know, there’s a Density3 and it’s on the github repository, it’s just not out yet.

Now it is :)

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.