Is realtime oversampling a dirty/destructive process?

VST, AU, AAX, CLAP, etc. Plugin Virtual Effects Discussion
Post Reply New Topic
RELATED
PRODUCTS

Post

@midnight wrote:You can get away with a touch, but for adding a lot of distortion, you need to upsample to 192-384khz to approach analog bandwidth for the harmonics?
Or even more. Guys from Kemper say the tube algos in KPA run at ~700kHz.

Post

@midnight wrote:
bootsie wrote:
DaveGamble wrote: - best solution: find ways to avoid generation of aliasing without oversampling
word!


How would a plugin like Fabfilter Saturn or similar distortion plugin be able to create alias-free distortion without oversampling?

You can get away with a touch, but for adding a lot of distortion, you need to upsample to 192-384khz to approach analog bandwidth for the harmonics?
Well, I'm not privy to the specific implementation details of Saturn, but for a typical wave shaper, you would:

1. Chebyshev polynomial approximation of the function.
2. Truncate to taste.
3. Generate audio-rate versions of the signal, band limited at Nyq/N
4. Feed through each through T_n(x) with weightings from the Cheb approx.

You might not find this strategy satisfactory, but its a clear answer to the question.
Furthermore, the idea of sub-band / multiband distortion is not that uncommon, and fits very nicely with this type of schema.

Dave.
[ DMGAudio ] | [ DMGAudio Blog ] | dave AT dmgaudio DOT com

Post

DaveGamble wrote:Furthermore, the idea of sub-band / multiband distortion is not that uncommon, and fits very nicely with this type of schema.
But instead of oversampling and associated filters you'd add crossovers=)

Post

Fabfilter Saturn is multi-band, and yet still generates aliasing unless you enable oversampling. Same with Ozone's multiband exciter/saturator, and many others I guess...
Has anybody ever really been far even as decided to use even go want to do look more like?

Post

DaveGamble wrote: - best solution: find ways to avoid generation of aliasing without oversampling
- medium solution: offer oversampling, so that the user has a way to swap out the aliasing for broken top-end and phase distortion.
- worst solution: do nothing and hope no one notices.
as a user I will ALWAYS prefer your medium solution over your best solution, becouse it allows me to switch anti-alias processing off when is not necessary /when aliasing is desirable or when working with higher SR/ and same time it allows me to fine tune anti-alias processing according to my actual need...

to me your best solution typically is not very user friendly /black box sort of/ and do not allow any fine tuning

I fully agree on your comment concernig worst solution...

btw-I dont know ANY distortion plugin using your best solution with overall excellent results /=with no alias/ similar to say 16x high quality oversampling
:shrug:

Post

@midnight wrote:Fabfilter Saturn is multi-band, and yet still generates aliasing unless you enable oversampling. Same with Ozone's multiband exciter/saturator, and many others I guess...
What he means is, say you want to generate n harmonics. You split the signal into n equal log width bands (the highest from fs/4 to fs/2, than from fs/8 to fs/4, than fs/16 to fs/8 and so on) and apply n-th order Chebyshev polynomial to the lowest frequency band, (n-1)th to the next band, (n-2)th to next one and so on, and no harmonics are added to the highest band.
That way all harmonics fall within fs/2 and you have no aliasing.

Post

kvaca wrote:
DaveGamble wrote: - best solution: find ways to avoid generation of aliasing without oversampling
- medium solution: offer oversampling, so that the user has a way to swap out the aliasing for broken top-end and phase distortion.
- worst solution: do nothing and hope no one notices.
as a user I will ALWAYS prefer your medium solution over your best solution, becouse it allows me to switch anti-alias processing off when is not necessary /when aliasing is desirable or when working with higher SR/ and same time it allows me to fine tune anti-alias processing according to my actual need...

to me your best solution typically is not very user friendly /black box sort of/ and do not allow any fine tuning

I fully agree on your comment concernig worst solution...

btw-I dont know ANY distortion plugin using your best solution with overall excellent results /=with no alias/ similar to say 16x high quality oversampling
:shrug:
I guess I didn't explain very well. My point was that the best solution is some kind of alias-free algorithm.
We've had BLIT and BLEP for years now in synth oscillator design, for example.

I'm not claiming that ANY type of processing can be done without generating aliasing- that would be very difficult to defend (though the observant might notice a parallel between the strategy I describe above and the Generalised Wiener System, which does have universal approximation status- though it is NOT trivially clear that the specific subset of GWS which is alias free retains universal approximation status).

But there are cases where you can process something (and wave shapers fall into this category) without aliasing and without increasing audio rate. Someone else said something about sub sampling too, but I forget whom I should attribute it to- its earlier in this thread.

So, best case isn't always an option (yet? Ever?), but if you can avoid oversampling because you have a better strategy, then you should likely do so.

Dave.
[ DMGAudio ] | [ DMGAudio Blog ] | dave AT dmgaudio DOT com

Post

meloco_go wrote:
DaveGamble wrote:Furthermore, the idea of sub-band / multiband distortion is not that uncommon, and fits very nicely with this type of schema.
But instead of oversampling and associated filters you'd add crossovers=)
True, but you'd be doing it at audio rate, and you'd have the entire wealth of filter design theory at your back.

Dave.
[ DMGAudio ] | [ DMGAudio Blog ] | dave AT dmgaudio DOT com

Post

DaveGamble wrote:True, but you'd be doing it at audio rate, and you'd have the entire wealth of filter design theory at your back.

Dave.
Yep, but this design would also be limited in that it would have good approximation of a non-linear device only within a set range of input level. So it would work for something like gentle tape or tube emulation, but if someone wants to truly abuse emulation it would not work.

Post

meloco_go wrote:
DaveGamble wrote:True, but you'd be doing it at audio rate, and you'd have the entire wealth of filter design theory at your back.

Dave.
Yep, but this design would also be limited in that it would have good approximation of a non-linear device only within a set range of input level. So it would work for something like gentle tape or tube emulation, but if someone wants to truly abuse emulation it would not work.
Sure, but the same is true in the analogue domain, and I'm explicitly describing a wave shaper implementation, which I don't think would make for an especially interesting distortion.

Dave.
[ DMGAudio ] | [ DMGAudio Blog ] | dave AT dmgaudio DOT com

Post

DaveGamble wrote:
meloco_go wrote:
DaveGamble wrote:Furthermore, the idea of sub-band / multiband distortion is not that uncommon, and fits very nicely with this type of schema.
But instead of oversampling and associated filters you'd add crossovers=)
True, but you'd be doing it at audio rate, and you'd have the entire wealth of filter design theory at your back.

Dave.
no
analog devices have one big advantage -unlimited bandwith...if you want digital plugin to sound analog you need to give it the same bandwith and AFAIK the best way is to do it via oversampling

to me multiband processing is no way better solution and also exhibits similar filtering artifacts as OS...

but if you know ANY distortion plugin which dont use OS and same time dont suffer from any aliasing and filtering artifacts Im prepared to test it :D

Post

kvaca wrote:no
analog devices have one big advantage -unlimited bandwith...if you want digital plugin to sound analog you need to give it the same bandwith ...
Bullshit.
That's just the easy way to do it.

There's a lot of wrong information in this thread.
For example I have yet to find one single person, who can actually hear the sound of a proper downsampling filter (to 44.1kHz) ... no matter if it's linear phase or minimum phase.

People should really do more blindtesting.
Oversampling is not an audible problem at all.
But there are (often) more elegant ways to do fight aliasing and other unwanted effects (such as curve warping of filters).
Oversampling is just the "lame" way to solve those issues.

Post

Nokenoku wrote:
kvaca wrote:no
analog devices have one big advantage -unlimited bandwith...if you want digital plugin to sound analog you need to give it the same bandwith ...
Bullshit.
That's just the easy way to do it.

There's a lot of wrong information in this thread.
For example I have yet to find one single person, who can actually hear the sound of a proper downsampling filter (to 44.1kHz) ... no matter if it's linear phase or minimum phase.
bullshit,too - even bigger :hihi:

sure Im not your bat person you are searching,but thats not the point at all...the main reason for bigger bandwith here is to move filtering artifacts into ultrasonic area...because we CANNOT have the same unlimited bandwith as analog- Nyquist always happen :(

Post

Nokenoku wrote: Oversampling is just the "lame" way to solve those issues.
if anything is "lame" than its a typical approach of some devs that claims:
- aliasing is not hearable problem and thats why we dont offer any solution
- or - use higher SR if you can hear aliasing
- etc.etc...

What Im still pesonally missing is one good and dedicated OS plugin in VST form...WHY it doesnt exist???something like Crystal resampler plugin in Wavelab

Post

I don't know, what "filtering artefacts" you're talking about.
If you over/down-sample, then you will get filtering artefacts (as I said: not audible though ... at least, nobody could ever prove to actually hear them).

If you were talking about curve warping as "filter artefacts", then there are already enough plugins, which do not oversample and do not have that issue. There are other ways around it.

Edit:
"Lame" was not meant as "bad". It's just the easiest way.
It is totally fine to use oversampling, but I have huge respect for developers, who try to find other solutions than oversampling.

Post Reply

Return to “Effects”