The No.1 Website for Pro Audio
 All  This Thread  Reviews  Gear Database  Gear for sale     Latest  Trending
Airwindows PurestGain: AU, Mac and PC VST
Old 17th November 2016
  #1
Airwindows
 
chrisj's Avatar
Software Airwindows PurestGain: AU, Mac and PC VST



TL;DW: High-res noise shaped gain, with smoothed fader.

PurestGain

Marking the 200th plugin in Airwindows' 'AU' category (not perfectly accurate, but yay anyhow) is PurestGain, in VST-enabled form!

What's to explain? It's a gain utility.

No, seriously, that's what it is. Here's why some folks are a fan of this plugin anyway, even though every DAW has this as a utility plugin, plus the DAW faders built in.

Firstly, gain is processing. When you apply even a simple gain change, it expands the word length of your digital audio out to arbitrary size. PurestGain comes from a set of plugins I did to experiment with the extremes of digital audio accuracy. You might think digital audio is automatically accurate, but that's far from the truth. We hear degradation in the resolution domain as flatness, cardboardy-ness, and it's cumulative. I don't think anybody can hear the difference between PurestGain and a DAW utility gain plugin, when just a single plugin is in the signal path… but it's cumulative.

Also, you can't be sure that a gain plugin is truly minimalist. If a plugin takes in floating-point audio of great quietness, and multiplies it by 1.0… that's a math operation that can force the result into the same floating-point 'level of resolution' as the 1.0. Floating-point is treacherous, and the damage done is still very subtle but again is cumulative.

PurestGain takes the input audio and does the gain processing at 'long double' resolution. It then noise shapes the result back into the DAW audio buss, whether that's a 32 bit buss for normal VST and AU, or a double-precision 64 bit VST buss, if available. The result is an ultra-high-precision gain plugin that refuses to lose any audio quality. It's the plugin equivalent of using switched attenuators with precision resistors in a mastering console, rather than potentiometers.

There's one more trick PurestGain has up its sleeve: a second control especially for fades. The trouble with DAW faders is that they must serve two masters: they've got to adjust smoothly and avoid zipper noise (crackling while you move the control, most clearly audible if you get a low-frequency sine wave going and then manipulate the control) but they've also got to snap instantly to a position if asked. The second slider in PurestGain runs in series with the dB gain control, but it functions very differently. One way to resist zipper noise is to have the gain smoothly ramp between volume settings, and that second control is designed for human-performed gain rides. Map the fader on a control surface to it, do your active mixing, and PurestGain will smooth every fader motion until it's as fluid as any real-world analog console: try it with sinewaves and see how flawless the result can be.

That's a surprising amount to say about a gain plugin, but that's Airwindows for you

PurestGain is free. The way I get compensated for these plugins, after a decade of commercial work, is through Patreon. Why? Because it's that important to me to put working, useful, high-quality plugins in the hands of musicians and producers. Back in the day when I got started, people were getting paid and were able to pass that along to software and hardware makers. I think people should keep getting good tools whether or not the industry's really thriving well enough to support it, so Patreon is my choice: when enough people hear about it, the cost of me doing this work can be spread out among so many people that it's not a burden. Also, it's steadier than the boom-and-bust economics of releasing individual plugins for $50, which tends to force you to only release really mass-market types of plugins, and pander to only what's most popular.

I've been putting out a new plugin for VST and AU every few days: this is a little intense, and we're heading into the holidays. I might back it off to one a week: depends on how things go, and what other things I need to do (I do have family and that poses demands on my time). Right now I'm looking at putting out a whole array of dither plugs since those are topical: if I do that, I'll be doing them as individual plugs, one at a time. The combo plugin that has all the dithers plus special monitoring features is Ditherbox and that's reserved for a funding goal, but maybe I can release the 24-bit versions so people can make 24 bit files and monitor their audio in the highest possible resolution
Old 17th November 2016
  #2
Gear Addict
 
ResonantMind's Avatar
 

Was coming to the realization that I needed something like this the other day. Great work.

Last edited by ResonantMind; 17th November 2016 at 06:47 PM..
Old 17th November 2016
  #3
Gear Guru
 
Karloff70's Avatar
 

Boooom all over again!
Old 17th November 2016
  #4
Lives for gear
Finally something that replaces my DAW faders :D

But seriously huge Congratulations for the 200th plugin! If this makes my mixes sound better, I'm all for it! Now I'll head over to REAPER forums to make a request for AF inserts..
Old 17th November 2016
  #5
Gear Addict
 

Chris your a star.
Old 17th November 2016
  #6
Lives for gear
 

I don't want to be a party pooper but... how can a FADER be one with coarse action ?... this is beyond me
Can't you add a text box for more exact values ?
Old 18th November 2016
  #7
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by A Tan View Post
I don't want to be a party pooper but... how can a FADER be one with coarse action ?... this is beyond me
Can't you add a text box for more exact values ?
The fader is for human control, like with input from a control surface. The top one is the one where you can do exact dB, and then use the fader to go between your exact and total attenuation.

I can't add text boxes if the DAW doesn't have them. Logic and all the Apple stuff has them, it's a matter of whether the DAW implemented that.

Also, that isn't coarse action. I am doing dithers next, all geared to 24 bit output as that's relevant for monitoring and what people should be mixing to anyway (16 bit is dead! It's 24 bit or mp3s from here on out). So, the dithers I'll be releasing only do 24 bit.

So I have a utility plug that will come first, BitShiftGain. It's the closest I can get (using 'Purest' techniques) to doing a raw bit shift just on the mantissa of the floating point audio buss. It doesn't even noise shape because it's the one gain change that ends up using exactly, EXACTLY the same 'stairstep' values you already had, requiring no dithering of its own.

So that's a gain plug where all the adjustments are in 6 dB increments

That's coarse. Except, sonically. Sonically, it is the most utterly transparent, soulful boost/cut you can ever possibly have in the digital domain… I think I can have it ready to go by Sunday.
Old 18th November 2016
  #8
Lives for gear
Quote:
Originally Posted by chrisj View Post
The fader is for human control, like with input from a control surface. The top one is the one where you can do exact dB, and then use the fader to go between your exact and total attenuation.

I can't add text boxes if the DAW doesn't have them. Logic and all the Apple stuff has them, it's a matter of whether the DAW implemented that.

Also, that isn't coarse action. I am doing dithers next, all geared to 24 bit output as that's relevant for monitoring and what people should be mixing to anyway (16 bit is dead! It's 24 bit or mp3s from here on out). So, the dithers I'll be releasing only do 24 bit.

So I have a utility plug that will come first, BitShiftGain. It's the closest I can get (using 'Purest' techniques) to doing a raw bit shift just on the mantissa of the floating point audio buss. It doesn't even noise shape because it's the one gain change that ends up using exactly, EXACTLY the same 'stairstep' values you already had, requiring no dithering of its own.

So that's a gain plug where all the adjustments are in 6 dB increments

That's coarse. Except, sonically. Sonically, it is the most utterly transparent, soulful boost/cut you can ever possibly have in the digital domain… I think I can have it ready to go by Sunday.
Can't wait!!! When's the ETA for the ditherbox you mentioned?
Old 18th November 2016
  #9
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by ZenMaster View Post
Can't wait!!! When's the ETA for the ditherbox you mentioned?
Ditherbox is a for-pay plugin. It still exists as an AU. I've said before, those for-pay plugins are a funding goal on the Patreon, so I gotta get to $800 a month first and then start working through them.

If I did all the dithers and Silhouette, everything in Ditherbox would be available in VST in a sense. It's a convenience thing, gives you built-in 16 bit output.

DitherTo16 is already VinylDither. DitherTo24 is already SpatializeDither. Mind you, you'll be getting Naturalize in 24 bit, and that one is a flat out killer. Previously available only in Ditherbox so don't say I don't give you nothin'

I've also done a PaulDither. In the conversation with Kazrog, someone quoted Paul Frindle on how he likes to do a one-pole highpassed TPDF dither. I didn't do one the way he explained it, but it's quite simple and I did a one-pole highpassed TPDF dither named PaulDither, and it's very nice.

It is my little specialty, though, so I am looking forward to getting my stuff out there. I have a nice variety of wordlength reducers, each with their own strong points, all of them as good as anybody else's, even Paul's very good ideas. Nobody out-dithers me
Old 4th December 2016
  #10
Lives for gear
Hey Chris! Do you test drive your plugins on 64-bit REAPER, perhaps? I've ran into a possible issue of losing the settings when opening saved project, I'll look into it and post here again.
Old 4th December 2016
  #11
Lives for gear
Hey Chris! Do you test drive your plugins on 64-bit REAPER, perhaps? I've ran into a possible issue of losing the settings when opening saved project.

I had made "pots" to adjust PurestGain straight from the channel on sequencer window without the need to open the plugin. (Found in channel fx "Param" -> "Show in track controls"). Today as I opened the mix, all PurestGain instances had forgotten the settings, the mix was of course all over the place, but after closing it and opening again everything worked as usual Which was of course good news. Could be my system, as after installing Nebula and using it, things have gotten a bit unstable.

Anyway, just wanted to let you know, although you keep your tools so minimal that issues like this are probably due to something else.
Old 4th December 2016
  #12
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by ZenMaster View Post
Today as I opened the mix, all PurestGain instances had forgotten the settings, the mix was of course all over the place, but after closing it and opening again everything worked as usual
I think that suggests that PurestGain is even better than you know. Not only did it survive your DAW breaking, it hung onto the correct settings and restored them for you

PurestGain: the Clark Kent of plugins. Flies about in a cape behind the scenes, fixing broken DAWs!

If you CAN close and open the mix again and have everything be right, I would suggest my plugin is actually working fine and being admirably undistracted by whatever digital shrapnel was flying around its head…
Old 4th December 2016
  #13
Gear Addict
 
mmarra's Avatar
Just a question about the VST versions of air windows...how come I can't type in the values? The GUI moves in fixed steps. I'm using sequoia
Old 4th December 2016
  #14
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by mmarra View Post
Just a question about the VST versions of air windows...how come I can't type in the values? The GUI moves in fixed steps. I'm using sequoia
I started out making only Audio Units (where you can type in the values), and when I switched over to VSTs it was using the same techniques. That means the host program provides the controls. Sometimes this is handy: I can use Airwindows AUs in Screenflow, for instance, where some plugins won't even load at all. Sometimes it's flexibility: hosted in Blue Cat Patchwork, my plugins get a slick UI. But there are some downsides.

I've never even seen Sequoia, much less VSTs on Sequoia. I guess other than the lack of typing in values, it works? Hope so. My point being, I have no control over how controls are presented, and that's both a strength and a weakness. It means DAWs can do really advanced things if they want (and that could improve in the future) but it also means if they're holding back on you, I can't fix it.
Old 20th January 2017
  #15
Lives for gear
 
A Fak's Avatar
Hey Chris,

I ran a test today to compare PurestGain vs my two other gain plugins I use: HOFA 4U and DMG TrackControl.

In my test I put a random apple loop on two separate tracks. On one track I put PurestGain at -12dB. On the other I put HOFA and DMG both at -12 dB with the phase switched (using each plugins own switch).

They both null out to somewhere around ~-150dB. I decided to raise the gain on the master to see if or when I could hear something. Using PurestGain I raised the master +144dB and bounced both files.

DMG TrackControl NULLED with PurestGain: You just hear crackle
HOFA 4U NULLED with PurestGain: You hear some of the loop as well as the crackle.


My question is what am I hearing?

DAW: Logic 10.3 Files: 24/44
(No dither or sample rate conversion was used)
Attached Files
File Type: aif DMG Track Control plus 144db.aif (2.72 MB, 58 views) File Type: aif HOFA 4U Plus144db.aif (2.72 MB, 36 views)
Old 20th January 2017
  #16
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by A Fak View Post
DMG TrackControl NULLED with PurestGain: You just hear crackle
HOFA 4U NULLED with PurestGain: You hear some of the loop as well as the crackle.
One thing that means is, TrackControl and HOFA do not agree on what's the correct gain to use

Crackle would be the noise shaping to the 32 bit buss. I don't recommend putting PurestGain in front of any sort of huge boost for that reason: either use it for the huge boost directly, or do the boost in something like BitShiftGain (which is effectively lossless when starting from a fixed point source) and then trim afterwards with PurestGain so its noise shaping stays down at the 32 bit noise floor.
Old 21st January 2017
  #17
Lives for gear
 
A Fak's Avatar
Quote:
Originally Posted by chrisj View Post
One thing that means is, TrackControl and HOFA do not agree on what's the correct gain to use

Crackle would be the noise shaping to the 32 bit buss. I don't recommend putting PurestGain in front of any sort of huge boost for that reason: either use it for the huge boost directly, or do the boost in something like BitShiftGain (which is effectively lossless when starting from a fixed point source) and then trim afterwards with PurestGain so its noise shaping stays down at the 32 bit noise floor.
Ok so I did the same test but instead used BitShiftGain to boost the signal to hear the difference. If I understand BitShiftGain correctly 1bit = 6dB of gain. I boosted HOFA 4U +24bits (144dB?) and DMG Track Control +18bits (108dB?) to get them around the same level.

First thing that jumps out to me is the extra 6bits between the two. HOFA 4U nulls 36dB (to be fair probably 32dB's but had to go up/down 6dB with BitShiftGain) further down than DMG TrackControl.

Level aside would you say the difference I'm hearing between these two and PurestGain is the errors\resolution between them? With the assumption that PurestGain being the most accurate?
Attached Files

4U plus24bits.wav (2.99 MB, 1634 views)

DMG +18bits.wav (2.99 MB, 1637 views)

Old 21st January 2017
  #18
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by A Fak View Post
Ok so I did the same test but instead used BitShiftGain to boost the signal to hear the difference. If I understand BitShiftGain correctly 1bit = 6dB of gain. I boosted HOFA 4U +24bits (144dB?) and DMG Track Control +18bits (108dB?) to get them around the same level.

First thing that jumps out to me is the extra 6bits between the two. HOFA 4U nulls 36dB (to be fair probably 32dB's but had to go up/down 6dB with BitShiftGain) further down than DMG TrackControl.

Level aside would you say the difference I'm hearing between these two and PurestGain is the errors\resolution between them? With the assumption that PurestGain being the most accurate?
I think it's safe to assume BitShiftGain is the most accurate thing around. It's literally a carefully controlled multiply at exactly the right amplitude to do a bitshift (and no other processing: no noise shaping or whatever). I've had people test it with bit-display meters and it moves a block of active bits up and down, just as you expect, losslessly. Gain trims are normally multiplies anyway: this is just set up to not even expand the word length.

The catch is, you have only 6dB gain increments but within that context, it's the reference for accuracy.

Last edited by chrisj; 30th January 2017 at 01:51 AM.. Reason: huh? how'd I substitute PurestGain but still be talking about 6 db increments?
Old 29th January 2017
  #19
Gear Head
 

Chris, do you think that the new Logic 10.3 with it's now internal 64bit audio engine may come close to Purest Gain? Or is it the same thing now using 64bit precision on faders and gain plugins? Thanks, B
Old 29th January 2017
  #20
Motown legend
 
Bob Olhsson's Avatar
 

Logic's new feature blows my mind. It means they've only just caught up to Pro Tools LE!
Old 29th January 2017
  #21
Lives for gear
 
stinkyfingers's Avatar
 

Quote:
Originally Posted by A Fak View Post
Level aside would you say the difference I'm hearing between these two and PurestGain is the errors\resolution between them? With the assumption that PurestGain being the most accurate?
i think part of the difference is the different gain scales.
ex...

fader value = -6 dBFS > 10^(-6/20) = 0.501187233627272 volts > converted back to dBFS = -6.00 dBFS
fader value = -6 dBFS > 2^(-6/6) = 0.5 volts > converted back to dBFS = -6.02059991327962 dBFS (*1 bit)

by the time you get down to -144.5 dBFS you have about a 0.5 dB difference...
Old 30th January 2017
  #22
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by branscobe View Post
Chris, do you think that the new Logic 10.3 with it's now internal 64bit audio engine may come close to Purest Gain? Or is it the same thing now using 64bit precision on faders and gain plugins? Thanks, B
If the faders are within that summing engine, use those. PurestGain is for using within the 'plugin zone', and I assure you that is still 32 bit float, CoreAudio doesn't make any provision for it being otherwise.

What Logic is doing is the same thing I do when, internal to my plugins, I run a 64 bit buss for calculations (or 80 bit). I would have thought they were doing that already, but apparently not.

Console helps with that, and you can also just not use a wildly complicated routing system with lots of gain trims, in Logic. If that's you, then the 64 bit mix engine might help.

I don't know whether even the stock Logic 10.3 faders are within that 64 bit zone, or whether they're in a 32 bit block and then just the summing is on a 64 bit buss. Depends on whether they treat the faders as a sort of plugin, I guess?

Don't run Sierra (and Logic 10.3, that requires it) if you've got legacy software that Sierra kills. I have a copy of Adobe CS4 with programs like Photoshop, Illustrator, Indesign, and Flash that runs on Yosemite but is known to die on Sierra. Therefore I can't run Sierra, or Logic 10.3. Fortunately I can work around Logic's limitations with my plugins
Old 21st February 2017
  #23
Lives for gear
 
JulenJVM's Avatar
@ chrisj ,

Hi,

I´m using PurestGain to gain stage a mix that I´m going to work on soon, and I think I found a bug on Cubase 8.5 (Win 10). I can´t manually input gain values, anything I type defaults to -40 dB, no matter if it´s positive or negative values, with or without decimals. It always goes to -40 dB after hitting Enter. I can use the slider to adjust the gain, but the steps are not coarse enough (the steps are good enough for basic gain staging, but not fine enough for mixing as I intend).

In fact, I´m also using Capacitor as a High Pass filter, and I have the same issue: it doesn´t recognize the numbers I´m typing, even though they are within the range that the plugin handles. As a heads up, this might be a big general bug to look into
Old 23rd February 2017
  #24
Lives for gear
 
JulenJVM's Avatar
Am I the only one having these troubles? I can't believe it would be my system at fault, every other plugin I own works as expected. Are you guys able to type in values for gain values?

This is on Win 10 Pro, Cubase 8.5 Pro.
Old 23rd February 2017
  #25
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by JulenJVM View Post
@ chrisj ,

Hi,

I´m using PurestGain to gain stage a mix that I´m going to work on soon, and I think I found a bug on Cubase 8.5 (Win 10). I can´t manually input gain values, anything I type defaults to -40 dB, no matter if it´s positive or negative values, with or without decimals. It always goes to -40 dB after hitting Enter. I can use the slider to adjust the gain, but the steps are not coarse enough (the steps are good enough for basic gain staging, but not fine enough for mixing as I intend).

In fact, I´m also using Capacitor as a High Pass filter, and I have the same issue: it doesn´t recognize the numbers I´m typing, even though they are within the range that the plugin handles. As a heads up, this might be a big general bug to look into
That does seem weird, but do you have any other generic interface plugins at all? The thing is, my code doesn't make those text boxes. The host does, and I have no control over it. So if mine are the only truly generic interface plugins, and the host has issues with its own control making, you'd see that problem but I can't fix it on my end as I don't draw the controls.
Old 23rd February 2017
  #26
Lives for gear
 
JulenJVM's Avatar
Hi Chris,

Thanks for getting back. Do you know any other plugin that uses the generic GUI? I could test it and see if the issue is on Cubase or on your plugins, but tbh, and with all due respect, I´d be surprised if Cubase´s generic GUI wasn´t functioning on version 8.5, they´ve had over a decade to get it working. By seeing how other plugins behave, my instinct tells me that something might be missing on your side, as I´m able to type values inside no matter what plugin.

Good news is that automation works fine for Purestgain, there are all the automation steps that one needs, however, when dragging up and down the point, there´s a little window with numeric information (gain amount) that doesn´t get updated with the new value as the point moves around, untill you drop the point. It´s only a minor inconvenience, but it makes it harder to automate.

In order to provide you with more info, I have tested most of your plugins, and the problem repeats in all of them where you can type a value (Average, Capacitor, Console4 (Buss & Channel), Density, etc...).

As I said, if you can tell me of another generic GUI plugin, I´ll give it a spin and report back.
Old 23rd February 2017
  #27
Lives for gear
 
JulenJVM's Avatar
@ chrisj

Good news, it´s on Cubase side

As a test, I´ve switched one of my other plugins to the Generic GUI (didn´t know you could do that), and I get the same problem. So I´m sorry for troubling you, I´m off to open a ticket with Steinberg!
Old 24th February 2017
  #28
Airwindows
 
chrisj's Avatar
Quote:
Originally Posted by JulenJVM View Post
@ chrisj

Good news, it´s on Cubase side

As a test, I´ve switched one of my other plugins to the Generic GUI (didn´t know you could do that), and I get the same problem. So I´m sorry for troubling you, I´m off to open a ticket with Steinberg!
Not a problem! I'm always interested to hear what environment my plugins will be used in. Who knew Steinberg would be screwing up implementation of their own format?
Old 26th February 2018
  #29
Gear Head
 

Hi guys, having make-up gain options within plugin EQs/compressors and even volume/output-knobs in soft-synths and VI-instruments, would you completely bypass those, i.e. leave them at their default 0 dB loudest setting and do all gain operation via “Purest Gain” which would be positioned as one of the last plugins in a DAW’s channelstrip? The channels’s fader would be untouched on 0 dB unity gain of course.

To get the cleanest volume change: Woud it make sense to bypass any gain function other than "Purest Gain" and how do you utilize this plugin?
Old 21st September 2018
  #30
Deleted e71ab78
Guest
I was using this last night to see if I could pick out a difference between this and Live 10s utility. This for me is on the really minor end of the scale of things that matter but if it helps, it helps and I'm all up for retaining signal integrity.

In live I can't type exact values into purestgain so it's pretty much impossible to compare them soundwise as there is slight gain variances. I use this all the time but I just got Live 10 and the utility goes down to infinity as well as having other useful features which got me thinking to try them against each other.

As I can't match them properly, can I ask those of you that can is this really doing something audible over a whole mix, or per channel when having fixed levels, or is it an improvement only during automation, if at all?

Cheers.
Topic:
Post Reply

Welcome to the Gearslutz Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…
Thread Tools
Search this Thread
Search this Thread:

Advanced Search
Forum Jump
Forum Jump