Oversampling - a plugin guru's take

Mark Barton is the lead software writer at Cherry Audio. This is a very concise take on the oversampling voodoo which may have some users needlessly crippling their CPU. From Musicplayer Forum:

I’m going to add a little to the above stock phrase: “the higher the setting, the better audio fidelity will be” in your mind because you pushed the button. True oversampling will occur, but I will bet anyone that they cannot tell the difference in a blind test. So what’s really going on when a plugin is oversampled? It means that for every output sample, the plugin, the whole plugin, ran more than once (say 3x) generating in between samples. Then, a steep lowpass filter is applied and the signal is decimated (take every 3rd sample) to create the output signal back at the project sampling rate. This example would more than triple the CPU requirement. If there are questionable routines in the software that produce aliasing, there might be some benefit in the oversampling process. However, in the GX-80, the aliasing products are vanishingly small. The GX-80 also contains no non-linear processing that may produce aliasing. Now in Miniverse, the filter and the VCA distort and the software has built-in oversampling to take care of this (that means you don’t have to the push the button there either). However, only those components are selectively oversampled. Making the whole plugin, envelopes, LFOs, keyboard and knob processing, etc. run at a multiple of the sample rate is a huge waste (unless your computer doubles as a room heater). The steep lowpass and decimation process is imperfect as well, so you might be causing more problems than you’re attempting to fix. So if it ain’t broke…
Some in the know may assume that control signals like envelopes, LFOs, etc. run at a lower rate than audio signals to save computing power. This was a common practice in both hardware and software digital synths in the past. Who knows? Some may still do it. If that were the case, that would justify (maybe) the use of oversampling to produce smoother control signals. However, every signal in Cherry stuff runs at the audio sampling rate, even a 2Hz LFO. Therefore, you can’t get any smoother shooting down another justification to oversample.

In conclusion, I speak for no one’s work other than my own, but I expect that most modern reputable developers are completely on top of this issue and pressing the shiny oversample button on their stuff is also a waste. I have not tested every plugin.

6 Likes

I’m quite happy with the plugins I have set to 1x for oversampling. I tried 2x and 3x all
I noticed was extra time load. I couldn’t really hear any thing different otherwise. If I want
to shiny up the sound I’ll used and EQ of some sort.

What this seems to come down to is that a well written plug-in targets its quality control and a lazily written plug-in will tax you for no return you can actually perceive.
I’m not sure any amount of EQ can restore Diva’s fast mode to the quality of the higher settings, but anything above that? It gets tougher to discern any difference . Divine? Anyone using that pass a blind test?

Some good plugins slip through the net though.
OPX Pro II is a notable example. There’s a significant difference between running it at 44.1khz and 88.2khz.
There are ways to run it at double sample rate: DDMF Metaplugin can host it with oversampling. Blue Cat’s Patchwork now has oversampling too.
I know that you have to manually map any VST parameters in Metaplugin which is a major pain. Patchwork looks like it does a nicer job with a parameter learn mode.
I’ve come unstuck and have broken old projects with Metaplugin where it doesn’t handle updated or missing plugins very well.
The best experience is with Reaper which can seamlessly oversample any plugin, even within a chain.
I’d love to see the same ability in Cantabile, but as Ade says, generally plugin developers get it right, so the cost / benefits wouldn’t ever really work out.

True - but at least well written plugins provide real names to the host, removing some of the pain, and MIDI learn (as opposed to automation parameters that Metaplugin accesses) is no more difficult in Metaplugin than in any other host, I would suggest.

Yeah, good point about MIDI learn.
I’m always using CC1 and 64, and channel aftertouch in Reaper but head straight for VST automation for anything else. I handle Cantabile similarly. I guess it’s mainly because MIDI CC is not that standardised and you get those nice VST parameter names.