TL;DW: MV is a dual-mono reverb based on BitShiftGain and the old Midiverbs.

MV.zip(397k)

Back in the days of really old school digital reverbs, there were a couple weird and obscure ones that had a special mojo. I’ve got one: the original Alesis Midiverb. It’s quite low-fi and only has RCA jacks, but there’s a certain something about its sound.

Turns out one of its secrets isn’t so secret: the first two versions of the Midiverb don’t have a multiply unit. That means you can’t do certain reverb things correctly. Reverbs use a kind of delay effect called an allpass filter, which involves multiplying by 0.618 (I’ve sometimes generalized this to ‘the golden ratio to N decimal places’, where N equals ‘a lot’). But the old Midiverb couldn’t do that… so it made an ‘allpass filter’ by multiplying its stuff by 0.5. A bit shift.

Airwindows fans will know that there’s something special about a bit shift: especially in floating point, you can change volumes by 6dB pretty much losslessly. No, make that ‘totally losslessly’ since in floating point you’re only changing the exponent and could change it right back and lose absolutely nothing: the mantissa is never touched.

What would happen if you took this old school way of doing allpasses, and made a modern reverb out of it, using full-quality floating point to do it? What if you followed up by making the regeneration also strictly ‘bit shift’, increments of 6dB or infinite regeneration, losslessly? What if you added a way to roll off highs by averaging output samples of the allpasses, and did THAT entirely using bit shifts as well? And allowed for a big number of allpasses (26, all different increasing prime lengths), and gave varying treble rolloff by independently controlling which of the allpasses got the average treatment?

Welcome to the infinite land of MV. This is nothing like a normal reverb, but it’s got some great superpowers, not least of which is the ability to just sustain a ‘bloom’ forever. You can automate it by kicking the regeneration up to 1.0 any time you like.

You can dial in different degrees of highs roll-off using the bright control, or leave it at 100% shiny. Combining this with more restrained regenerations like 0.51 or 0.26 at medium-to-high sizes will give you very decent ‘impossibly huge reverbs’ of various characters. MV doesn’t do early reflections or plausible spaces, just the infinite wash, but that’s somewhat configurable.

It runs dual-mono, so you can dial down the size a bit (not too much or it’ll get nasty, you’re removing allpasses from the chain) and use it as an ambiance generator, and it’ll put all reverb tails ‘behind’ the sounds that make them: centered stuff stays centered, wide or stereo stuff goes super-wide. For this reason it’s very suited to use on auxes and submixes: you can add ‘space’ that’s very pure-sounding

It can do full, 1/2, 1/4, 1/8 and I think 1/16 level regenerations: set the feedback and it will use the bit shift amount nearest below the setting, so no matter what you do it will always retain its audio character. And the whole thing runs inside a PurestConsole instance except for the regeneration, which is extra… which means that if you build up a wall of infinite reverb, it can’t go into reverb runaway because distorted samples will wrap around and get quieter: you’ll have to trim down the output, but this makes infinite regeneration super-usable without applying any kind of compressor or limiter inside the loop. Since you can also do zero regeneration and it’s just a pile of allpasses, you can also do a ‘gated reverb’ effect if you like, which is good at airing up the mix but then getting out of the way.

It’s the first plugin to come out using the rigorous, exact-dither-amount version of my Floating Point Dithers. Everything else will follow, but it’s a huge amount of work so bear with me, and I’m also going to want to set up my new web hosting at least to put the next ‘NewUpdates.zip’ on, when it’s all ready. There will be big and awesome changes, such as being able to support all the bandwidth my customers need, and being able to co-locate and use load balancing. I’ve got expert help working on it, so when the new dither updates are out, you’ll be able to redownload the whole collection without hesitation.

When that DOES happen, if you hear a change in the dither (maybe just vaguely sense it, without being certain? If you’re honest?) it’ll be what MV has. The dither is now perfectly accurate, both for 32 bit and the seriously un-hearable 64 bit dither. It’s flat dither rather than highpassed TPDF, since the dither amplitude is designed to run at all different levels anyway. What that means is, the changes are very like the changes between standalone NJAD and the new NJAD included in the plugin StudioTan: it’s a bit darker, depths are blacker, there is less coloration of any kind, more neutrality. It also completely removes all truncation (not just the nastiest bits, but all of it anywhere) so we’ve gone from ‘thoroughly addressing a tiny problem that could build up’ to ‘completely obliterating the truncation to the point of mathematical infinity’. Oh, also it ought to run faster than the first version, because it’s using a thing called xorshift32 rather than the more high-CPU rand() function. So everything is better, including the CPU hit, and all that will be incorporated in the big update when it’s ready. Until then, all new plugins coming out will use the newest version. And DitherFloat is current. :)

Think of Patreon as my shopping cart. If you would have bought this if it was for sale from Kagi or wherever, at $50 for the plugin in all versions on as many computers as you like with free updates forever (how’s that for terms and conditions? That’s how the Kagi Airwindows plugins used to work, before all this), then please if you can, join the Patreon for $50 a year. If you’d have bought a bunch of plugins and you can do it without endangering or hurting your well-being, join for a bunch of $50ses a year: some folks are, and it’s very worthwhile as it turns out I can’t do it all on just mass quantities of $1 a month patrons, it takes all kinds to keep this show going.

Hope you like the show. There’s plenty more coming :)