Is realtime oversampling a dirty/destructive process?
-
- KVRAF
- Topic Starter
- 1580 posts since 22 Apr, 2011 from The House of Zaid
Some developers have said that realtime oversampling in plugins isn't the way to go about things. The reason is usually that "resampling is an intensive process best done offline" and that doing it with low latency will result in sub-par sound quality.
Yet there exist plugins like The Glue, Fabfilter Saturn, Molot Compressor, DCAM Compressors, etc... which use low-latency oversampling, and these plugins are supposed to be mastering grade, etc...
So I would like to hear about it from the developers, what is the deal? Is realtime low latency oversampling with high quality results possible? Obviously there are plugins which do it, and to my ear the sound is ok. But so why are some developers saying that realtime oversampling is a "no-no" and that it hurts the sound quality?
Yet there exist plugins like The Glue, Fabfilter Saturn, Molot Compressor, DCAM Compressors, etc... which use low-latency oversampling, and these plugins are supposed to be mastering grade, etc...
So I would like to hear about it from the developers, what is the deal? Is realtime low latency oversampling with high quality results possible? Obviously there are plugins which do it, and to my ear the sound is ok. But so why are some developers saying that realtime oversampling is a "no-no" and that it hurts the sound quality?
Has anybody ever really been far even as decided to use even go want to do look more like?
-
tony tony chopper tony tony chopper https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=3103
- KVRAF
- 3561 posts since 20 Jun, 2002
With no "latency" it messes phases, but it's still better than linear-phase with a giant latency.
DOLPH WILL PWNZ0R J00r LAWZ!!!!
-
- KVRian
- 1099 posts since 30 Oct, 2005
all I know is that oversampling is not such intensive process as resampling /if the same top quality is needed as a result/ and also that I can hear artifacts associated with low SR /aliasing/ but usually cannot hear any artifacts associated with OS /at least on plugins Im using/@midnight wrote:Some developers have said that realtime oversampling in plugins isn't the way to go about things. The reason is usually that "resampling is an intensive process best done offline" and that doing it with low latency will result in sub-par sound quality.
also-if some devs dont want to bother with OS the easiest thing they can say is that its not good enough...
Last edited by kvaca on Mon Feb 25, 2013 8:31 am, edited 1 time in total.
-
- KVRian
- 1099 posts since 30 Oct, 2005
and thats why I usually prefer Melda plugins in which you can choose not only the amount /up to 16x/ but also the style of OS /minimum or linear phase/tony tony chopper wrote:With no "latency" it messes phases, but it's still better than linear-phase with a giant latency.
-
- KVRian
- 779 posts since 21 Sep, 2008
I wouln't necessarily call 100 samples of latency "low".@midnight wrote:Yet there exist plugins like The Glue
Any oversampling (whether it is offline/online) is destructive process, you just pick your poison. Though if done correctly it is pretty much transparent.
-
tony tony chopper tony tony chopper https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=3103
- KVRAF
- 3561 posts since 20 Jun, 2002
That's stupid, oversampling is a tool used where necessary. Some types of effects just don't need it, either because they don't alias by nature, or because they used another way to be alias-free.also-if some devs dont want to bother with OS the easiest thing they can say is that its not good enough...
DOLPH WILL PWNZ0R J00r LAWZ!!!!
-
- Banned
- 22457 posts since 5 Sep, 2001
I agree with Gol.. I don't like the zero latency oversample blue cat use nor the one for example in Mix Control. i use mixcontrol tons but never enable the oversample.
It messes with the phase, totally agreed. Ok, we agreed on something, first time ever
However, latency doesn't bother me as long as not on busses, so in my voxengo plugins I use the 11ms linear phase PS option. Hey, we at least agreed on 1 out of 2
Cheers
It messes with the phase, totally agreed. Ok, we agreed on something, first time ever
However, latency doesn't bother me as long as not on busses, so in my voxengo plugins I use the 11ms linear phase PS option. Hey, we at least agreed on 1 out of 2
Cheers
-
- KVRian
- 1099 posts since 30 Oct, 2005
sorry,but Im not talking about fx that dont need ittony tony chopper wrote:That's stupid, oversampling is a tool used where necessary. Some types of effects just don't need it, either because they don't alias by nature, or because they used another way to be alias-free.also-if some devs dont want to bother with OS the easiest thing they can say is that its not good enough...
Im talking about some devs which are generally ignoring OS
btw- and I do not prefer devs which use OS but dont allow to switch it off in their plugins - exactly for the reason you have mentioned /=because sometimes OS is not needed/
-
tony tony chopper tony tony chopper https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=3103
- KVRAF
- 3561 posts since 20 Jun, 2002
I wasn't describing it as a con, I do prefer no latency for realtime use.It messes with the phase, totally agreed. Ok, we agreed on something, first time ever
As long as you don't start mixing wet & dry by yourself, it's rarely a problem.
well, what the user needs is a way to trade aliasing for CPU where necessary, it doesn't necessarily need to be oversampling, that's tech stuff that shouldn't matter to the userbtw- and I do not prefer devs which use OS but dont allow to switch it off in their plugins
DOLPH WILL PWNZ0R J00r LAWZ!!!!
-
- KVRian
- 1099 posts since 30 Oct, 2005
again sorry, AFAIK this topic is about OS in plugins...and not about different techniques to avoid aliasing...tony tony chopper wrote: it doesn't necessarily need to be oversampling, that's tech stuff that shouldn't matter to the user
- KVRian
- 1169 posts since 24 Feb, 2012
I agree 100%tony tony chopper wrote: it doesn't necessarily need to be oversampling, that's tech stuff that shouldn't matter to the user
IMHO, switchable brute-force OS options are most of all a sign of low dev creativity. It's easy to simply pass all responsibility to the user. But the problem is, most people have no idea about the technical reasons and restrictions of running algorithms at higher rates than usual.
There's the brute-force oversampling "design approach". It limits the bandwidth substantially and blurs the impulse response of the system in a static manner. So, even if the processor does *nothing*, it's already heavily messing with the signal integrity. This isn't what I would call a "mastering grade" or "quality" approach. It's a bad idea.
This becomes even worse when minimal phase OS filters are used. Zero latency is a particularly misinformed way to describe minimal phase filters. Minimal phase only means that the filter tries to do the job with the smallest delay possible. But there's still delay! These steep filters create enormous delays in the high frequency region (phase shift of several thousand degrees). The phase shift is more or less comparable with the first generation, non oversampled DACs: Sounds horrible!!
And I'm just scratching the surface. For example, there is - in theory - absolutely no reason why the signal path of dynamics processors needs more than 2x oversampling. In this case, using higher rates than ~90kHz is a waste of cpu. The signal path is not the place where most aliasing happens. Brute force only helps in a very limited manner.
All these decisions are very complicated. They are better left to the gear devs.
Last edited by FabienTDR on Tue Feb 26, 2013 7:25 pm, edited 1 time in total.
Fabien from Tokyo Dawn Records
Check out my audio processors over at the Tokyo Dawn Labs!
Check out my audio processors over at the Tokyo Dawn Labs!
- KVRAF
- 10361 posts since 3 Feb, 2003 from Finland, Espoo
I actually prefer minimum phase oversampling to the linear phase variant. I don't know why the linear phase oversampling modes annoy me so much but they do.TheoM wrote:I agree with Gol.. I don't like the zero latency oversample blue cat use nor the one for example in Mix Control. i use mixcontrol tons but never enable the oversample.
It messes with the phase, totally agreed. Ok, we agreed on something, first time ever
However, latency doesn't bother me as long as not on busses, so in my voxengo plugins I use the 11ms linear phase PS option. Hey, we at least agreed on 1 out of 2
Cheers
Maybe I just like the "phase mess" of it all.
"Wisdom is wisdom, regardless of the idiot who said it." -an idiot
- KVRAF
- 3426 posts since 15 Nov, 2006 from Pacific NW
I use IIR ("zero latency") filters for the oversampling and downsampling in some of my plugins. These filters scramble the phase for the higher frequencies. Since my plugins tend to be all about scrambling phase, this works out. A reverb is essentially a method of scrambling phase as randomly as possible for a desired duration.
From my perspective, having linear phase oversampling would be desirable for plugins that are intended to "improve" the audio without "changing" it. Limiters, compressors, and EQs fit into this category. Any of these effects that might be mixed with the original signal should probably have linear phase oversampling (if oversampling is needed), or otherwise provide a phase compensated wet/dry mix in the plugin itself.
Guitar amp simulators don't need linear phase. A 12" Celestion speaker won't pass much signal content in the frequency area where the phase wiggle of IIR polyphase filters would be heard, and the phase response of an overdriven guitar speaker will be weird in the first place. Most delay, reverb and modulation effects are messing with the phase of the signal, so a little extra wiggle up in the top octave shouldn't matter. In these cases, having low latency & low CPU is more important than perfect phase performance.
Sean Costello
From my perspective, having linear phase oversampling would be desirable for plugins that are intended to "improve" the audio without "changing" it. Limiters, compressors, and EQs fit into this category. Any of these effects that might be mixed with the original signal should probably have linear phase oversampling (if oversampling is needed), or otherwise provide a phase compensated wet/dry mix in the plugin itself.
Guitar amp simulators don't need linear phase. A 12" Celestion speaker won't pass much signal content in the frequency area where the phase wiggle of IIR polyphase filters would be heard, and the phase response of an overdriven guitar speaker will be weird in the first place. Most delay, reverb and modulation effects are messing with the phase of the signal, so a little extra wiggle up in the top octave shouldn't matter. In these cases, having low latency & low CPU is more important than perfect phase performance.
Sean Costello
- KVRian
- 1169 posts since 24 Feb, 2012
That's a very interesting case. An elegant way to solve several issues at once (i.e. intentionally "blurring" phase relation and re-sampling at the same time)!valhallasound wrote:I use IIR ("zero latency") filters for the oversampling and downsampling in some of my plugins. These filters scramble the phase for the higher frequencies. Since my plugins tend to be all about scrambling phase, this works out. A reverb is essentially a method of scrambling phase as randomly as possible for a desired duration.
On a side note, I generally recommend to tolerate processing latency wherever possible. The ability to delay without losses is probably the most powerful advantage of DSP and often the only way to prevent aliasing problems in general. DSP is very weak at delivering low latency "by design". If low latency is really vital, analogue processing is probably the best alternative.
Fabien from Tokyo Dawn Records
Check out my audio processors over at the Tokyo Dawn Labs!
Check out my audio processors over at the Tokyo Dawn Labs!
-
penguinfromdeep penguinfromdeep https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=193898
- KVRAF
- 1993 posts since 18 Nov, 2008
+1
circuit modeling and 0-dfb filters are cool