BitShiftPan
TL;DW: BitShiftPan gives you a gain and a pan control that are ONLY done using bit shifts.
This is a request from YouTube comments, but I had no idea how well it’d work out! BitShiftGain is a long-standing secret weapon of mine. On almost every video, I’m losslessly dropping 6dB using BitShiftGain. But what would you get if you applied this to pan?
You’d get a pan where center was quite a bit louder than sides (there’s no 3 dB pan law from bit shifts), but the first steps to left and right are QUITE a lot to the side. It’s not at all LCR panning, but if something’s center you know it, and if something’s to the side it’s WAY to the side. Then, you have a succession of further-to-the-side positions that are progressively quieter, all the way to hard L and R. If that was all it was, this would seem really pointless and arbitrary.
BUT.
If you can construct a mix this way, you can construct a mix where every single gain setting, every pan position, every location in the mix, is Bit Shift Gain: utterly and completely lossless. No requantization, just like with BitShiftGain itself, but in full stereo (within these constraints). You’re picking locations, but they’re not LCR locations, they’re a range of potential locations.
There’s more. Mixing with BitShiftGain in mono is impossibly crude. 6dB increments are seemingly impossible to mix with, absurd, insulting to even consider. But if you tick a track one step over to the side… that’s now 3dB down, not 6. You’ve losslessly cut one side 6dB while leaving the other one unaltered.
If you had two tracks, a doubletrack, and did this with just one of them, your ‘track’ (that’s really two tracks) can shift 1.5 dB down, to the ear. Starting to sound more interesting? If you had four tracks and shifted just one of them, that’s an apparent shift of 0.75 dB.
Mixing isn’t just about taking a single track and making it perfect. Mixing is how tracks sit relative to other tracks. If you have a full mix, and a track 40 dB down steps closer to the center bringing it up 3 dB in total, that makes all the other tracks seem just a tiny bit quieter in contrast. At every step, your ability to fiddle with 0.1dB adjustments is completely hobbled… but the framing of the TOTAL mix can take a whole new form.
And at every point, across every track, at every position in the stereo field, the mantissa of every audio sample is EXACTLY as captured by the converter. Once it’s mixed, you’ll get a composite, but everything being fed to the mix buss at every level in every position is exactly the raw sample… scaled to fit.
If you liked BitShiftGain for its utterly uncompromising transparency, beyond anything else even possible… now you have it, but with panning.
If this approach, so ruthless in the desire to hang on to raw unprocessed intensity from the original digital captures, seems interesting… next week is Console Zero, built from the ground up to work using almost entirely bit shifts even inside the saturation/antisaturation calculations and anti-alias filtering. BitShiftPan is an ultimately clean gain trim, and apart from the ‘steppy’ positioning and lack of pan law, it’s very normal and approachable. Console Zero… is radical.
Thanks for the suggestion to try applying this to panning. Who knew so much would happen as a result?
download 64 Bit Windows VSTs.zip
download Signed M1/Intel Mac AUs.dmg
download Signed M1/Intel Mac VSTs.dmg
download LinuxVSTs.zip
download LinuxARMVSTs.zip for the 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.
VCV Rack module
Interesting! Thank you for all the great plugins, Chris!
So, could you get more fine grained control by introducing an up and down panning as well as a forward and back panning?
I was surprised!
I am pleasantly surprised.
I had created my own “Pan” function using “BitShiftGain”.
I was using “Dual Mono” in Logic Pro X with the plugin plugged in.
Thank you very much!
My dream came true!
I am so happy to have this Plugin.
And I have one more request.
I use “PureGain” to make and use “Pan”.
Chris, could you please make “PurePan” using “PureGain”?