Quote:
Originally Posted by
FabienTDR
Our plugin concepts specifically try to avoid having to resample input to output.
It's far cleaner and more effective to run each nonlinearity at its optimal rate, antialiasing only (!) the distortion it produces.
That's probably a reason why our resampling seems to work so well: For the most part, the signal passes input to output untouched, i.e. without being resampled.
The main problem with aliasing appears in the control signals, where it literally breaks the intended/promoted/promised function of a plugin. Say, a 0.2ms compression attack acting more like a random generator than a smoothing filter. This is aliasing. You often can't really solve this problem by simply increasing the overall I/O samplerate, it would require rates in the MHz range just to antialias a hard knee compressor theshold (= a clipper acting on the detected signal). This enormous bandwidth in turn provokes other issues with audio down the line (like unnecessary build up of inaudible HF content and IMD).
It's not that easy. Antialiasing is so much more that simply changing the samplerate. I can well understand the envy for experimentation, but DIY oversampling isn't that effective, it is costly and bottlenecks the original bandwidth.
All of my THIS.
Fabien is so correct here. I do quite a bit of music in the analog domain and capture it at 96k, so I do find reason to resample. What do I use for that? A little program called Brick (pretty sure there are Windows equivalents) that doesn't run as a plugin, but as a standalone app. Why? Because it's using such a wide window to generate its brickwall filter that it can run twenty times slower than realtime on a relatively recent iMac Pro.
There are no half measures for resampling. You either hang on to the cleaner, rawer directness of the original sample rate, or you bring out the big guns and SRC properly… and you're not going to be able to do that all through your mix. Anytime people are using oversampling to fight aliasing, they're trading off one problem for another and throwing mass quantities of rather low quality digital filters all over what they do.
It's really not that easy. It's very likely that for normal audio the sound's gonna be subjectively better done the way Fabien does it: passing it through untouched. I recently did a plugin that bypasses itself when the lowpass filter's set to 'as high a pitch as possible': it's not just Fabien addressing digital this way. When I say 'bypasses itself' I don't mean 'multiply by 1.0' or 'the filter parameters end up producing no change in the frequency response', I mean 'if this condition is observed then we copy the input data word to the output directly' (while still running the EQ calculations, so we can go back to filtering without a glitch)
That one might well go on the 2-buss and I considered it important to not screw that up. If you oversampled it, it would break that particular functionality by making it impossible to pass through the data untouched.
I've also got a hard clipper algorithm (in several relevant plugins) that softens the onset AND exit from clipping on only already-clipped samples, explicitly to alter the high frequency behavior of hard clipping and break it up a bit. Since it's departing from what is 'accurate', it softens the grind more than you'd get from even the most perfectly oversampled hard clipping. If you unthinkingly oversampled that plugin 'to make it better', even with the most perfect oversampling, you'd be breaking the behavior that makes it produce the desired darkening of the hard-clipped sound.
Never assume that oversampling 'naive' plugins will always make them better. Firstly, some plugins aren't as naive as you think they are, and secondly not all sample rate conversions are created equal. You could simply be throwing in a double set of bad digital EQ for your trouble, in which case it'll only be better if you're trying to hard-clip an already very bright signal, producing so much aliasing against a treble-heavy signal that anything would be an improvement