VST Oversampler 1.4 (with SSE/3DNow! support)

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

Post

Chris Walton wrote:Nope. Read again my description in the original post...
Chris Walton wrote:The oversampler "hosts" another VST plugin, and oversamples it by 2. Because of this, aliasing has twice the frequency range to unfold, which means that the aliasing that enters back into the audible domain is much less, and upon downsampling, the upper range (containing only aliasing) is discarded.
No, you're wrong. Depending on how the synth is designed to work at lower frequencies, the results of this plugin could be better or worse than what the plug itself comes up with.

I'd say 99% of synths support any samplerate.
I know several that don't.
metamorphosis wrote: More to the point, why not just work at 44k and render at 88k? What's the advantage of having something sounds -slightly- better only while you're mixing it?
I don't get it-
could somebody explain this to me?
You can't get back quality by upsampling. If you downsample to 44.1khz and upsample again to 88.2khz you lose all the high frequency stuff that used to be between 22.05khz and 44.1khz (Nyquist theory), and upsampling it back to 88.khz won't get it back (in fact, that might actually _create_ aliasing, if the upsampling filter isn't good!).
Well, I don't know what you're talking about, as I said nothing about upsampling a 44k rate, only about rendering at a higher samplerate and -working- at a lower one. Which, FYI, doesn't upsample the synth-generated audio -
I'm well up on sample theory, cheers.

Post

punkrockdude wrote:I am noticeing some high frequency attenuation when using this plugin. It does so with any plugin I use. Use a bright track with alot of upper frequencies, I used an overhead track and I clearly heard the high hat become duller and Voxengo SPAN tells the same thing.
:o oops

I'll investigate. Sounds like the FIR I'm using for downsampling has too much of a slope.
metamorphosis wrote:No, you're wrong. Depending on how the synth is designed to work at lower frequencies, the results of this plugin could be better or worse than what the plug itself comes up with.
That sentence doesn't parse, and I don't understand what you are trying to tell me.

Are you trying to say that by downsampling the 88.2khz signal back to 44.1khz, it'd pretty much end up being the same as if I rendered it at 44.1khz in the first place? If you're using a synth or effect that does it's own antialiasing, then you could be right. But if it doesn't, or it doesn't do a good job of antialiasing, then this plugin will definitely help reduce audible aliasing. Just compare the clip in the original post!
metamorphosis wrote:Well, I don't know what you're talking about, as I said nothing about upsampling a 44k rate, only about rendering at a higher samplerate and -working- at a lower one.

Aah, I read that wrong. Sorry.
Cakewalk by Bandlab / FL Studio
Squire Stratocaster / Chapman ML3 Modern V2 / Fender Precision Bass

Formerly known as arke, VladimirDimitrievich, bslf, and ctmg. Yep, those bans were deserved.

Post

Reaper doesn't load it.
The only site for experimental amp sim freeware & MIDI FX: http://runbeerrun.blogspot.com
https://m.youtube.com/channel/UCprNcvVH6aPTehLv8J5xokA -Youtube jams

Post

metamorphosis wrote: More to the point, why not just work at 44k and render at 88k? What's the advantage of having something sounds -slightly- better only while you're mixing it?
I don't get it-
could somebody explain this to me?
Cheers-
Ok, a naive saw wave, ie one that has no anti-alising, has frequencys all the way up to infinity. (in theory at least, less in practice due to limited bit depth, but enough to sound fookin awful at mid or greater frequencys). Non linear processing, or poor quality interpolation can create frequencys way above that which the sample rate can represent aswell.

At 44.1 kz, everything above 22.2khz becomes aliasing that is folded back into the audible range. Ie it all ends up folding back and forth across the 0 to 22.5khz frequency range.

For example...

Code: Select all

0....22....44....66....88....
abcdefghijklmnopqrstuvwx   <-- this is the signal,
When that signal is sampled at 44khz, this can be the generation of the naive saw for example. Which is basicly sampling a mathematical function. Everything above 22khz will be aliased.. so you actualy get this...

Code: Select all

0....22....44
abcdef
lkjihg
mnopqr
xwvuts
Each time it hits a multiple of 22, folding occurs and it flips back and forth up and down the spectrum..

Now imagine the same signal with a sample rate of 88Khz...

Code: Select all

0..........44..........88
abcdefghijklmnopqrstuvwx
Now when the signal is sampled everything above 44khz is aliased... So what you get now is this...

Code: Select all

0..........44..........88
abcdefghijkl
xwvutsrqponm
So 2 thirds of what was previously alised into the audible range is now in the region 22khz.. 44khz. Basicly inaudible.


So when downsampling that 88khz back down to 44khz, what you actualy do first is filter out the top half of the spectrum, its all inaudible anyway! So first you do this... ("----" represents filtered to silence)

Code: Select all

0..........44..........88
abcdef------
xwvuts------
Then to convert to 44khz, you decimate and get this...

Code: Select all

0....22....44
abcdef
xwvuts
So not only has 2/3 of the aliasing been filtered out. But the 1/3 that was left in is actualy the highest part, and in 99% of cases that will be least loud of the aliasing aswell.

So when you coax the plugin to work at a higher sample rate you are basicly giving it more frequency headroom. A chunk of the inaudible part of the audio spectrum that can catch aliasing, and which, you can filter out without losing any of the intended audible signal.

Post

Yes, higher sample rates are better, sure, I know that. But are you saying that you'll get better results from rendering a synth at 192khz resampled back down to 96khz, than you would if you just rendered 'straight' at 96khz?
Cause I'd have to say, if you can hear a difference between the two, I'm really surprised-
If you can't, then it comes back to my argument of "why not work with your synth at 44khz, while mixing/recording/composing, then render the mix out at x"-
also, many hosts can render out at 192khz, so- even if it made a difference... why would you do this for just one plug?
m@

p.s Totally not dumping on your plugin Walton, I appreciate the fact that it's free - I'm just trying to understand it's purpose-

Post

tony tony chopper wrote:
I'd say 99% of synths support any samplerate
note that I'm sure that a lot of plugins don't really like different instances running at different samplerates, even if the VST specs require it (our own plugins have optimizations that prevent this, that's the reason I didn't build oversampling in FL)
that presents plugins running at different samplerates? could you specify the bad parts about this?

Post

metamorphosis wrote:why not work with your synth at 44khz, while mixing/recording/composing, then render the mix out at x"-
Because I want the render to sound exactly identical to the realtime output.
metamorphosis wrote:many hosts can render out at 192khz, so- even if it made a difference... why would you do this for just one plug?
If only 1 or 2 generators/effects you are using will prosper from it, why waste the CPU on everything else? For instance if you have 4 non-aliasing synths on a project that you love the sound of, and a 5th that you really like but it aliases a lot, why waste the CPU on the other 4 as well?

Also, not all VST's work outside of 44.1Khz. Say for instance you are working with one while also working with one you want to use at 88.2Khz, for instance.

Post

Any chance you could post a readout of the spectrum produced by the down-sampling filter, similar to the infinitewave src shootout (http://src.infinitewave.ca/)???

Would be good to know how high the algorithm quality is... :)

Post

mustgroove wrote:Any chance you could post a readout of the spectrum produced by the down-sampling filter, similar to the infinitewave src shootout (http://src.infinitewave.ca/)???

Would be good to know how high the algorithm quality is... :)
Not very good :hihi:

I'll be gone all day today, so there won't be an update (tomorrow though, hopefully).
Cakewalk by Bandlab / FL Studio
Squire Stratocaster / Chapman ML3 Modern V2 / Fender Precision Bass

Formerly known as arke, VladimirDimitrievich, bslf, and ctmg. Yep, those bans were deserved.

Post

nollock wrote:
metamorphosis wrote: More to the point, why not just work at 44k and render at 88k? What's the advantage of having something sounds -slightly- better only while you're mixing it?
I don't get it-
could somebody explain this to me?
Cheers-
Ok, a naive saw wave, ie one that has no anti-alising, has frequencys all the way up to infinity. (in theory at least, less in practice due to limited bit depth, but enough to sound fookin awful at mid or greater frequencys). Non linear processing, or poor quality interpolation can create frequencys way above that which the sample rate can represent aswell.

At 44.1 kz, everything above 22.2khz becomes aliasing that is folded back into the audible range. Ie it all ends up folding back and forth across the 0 to 22.5khz frequency range.

For example...

Code: Select all

0....22....44....66....88....
abcdefghijklmnopqrstuvwx   <-- this is the signal,
When that signal is sampled at 44khz, this can be the generation of the naive saw for example. Which is basicly sampling a mathematical function. Everything above 22khz will be aliased.. so you actualy get this...

Code: Select all

0....22....44
abcdef
lkjihg
mnopqr
xwvuts
Each time it hits a multiple of 22, folding occurs and it flips back and forth up and down the spectrum..

Now imagine the same signal with a sample rate of 88Khz...

Code: Select all

0..........44..........88
abcdefghijklmnopqrstuvwx
Now when the signal is sampled everything above 44khz is aliased... So what you get now is this...

Code: Select all

0..........44..........88
abcdefghijkl
xwvutsrqponm
So 2 thirds of what was previously alised into the audible range is now in the region 22khz.. 44khz. Basicly inaudible.


So when downsampling that 88khz back down to 44khz, what you actualy do first is filter out the top half of the spectrum, its all inaudible anyway! So first you do this... ("----" represents filtered to silence)

Code: Select all

0..........44..........88
abcdef------
xwvuts------
Then to convert to 44khz, you decimate and get this...

Code: Select all

0....22....44
abcdef
xwvuts
So not only has 2/3 of the aliasing been filtered out. But the 1/3 that was left in is actualy the highest part, and in 99% of cases that will be least loud of the aliasing aswell.

So when you coax the plugin to work at a higher sample rate you are basicly giving it more frequency headroom. A chunk of the inaudible part of the audio spectrum that can catch aliasing, and which, you can filter out without losing any of the intended audible signal.
yet another person who can "prove" what they are talking about. I'm beginning to like this trend. It makes ignorance less "hip".

or in other words...

thank god for coders who know what the crap is going on.

Post

I've been going on about the merits of 88/96khz on vsti's for ages.

Funny how I got shot down by so many here on Kvr, and now most people seem to agree that higher sample rates are worth it in vsti land.

Glad to hear it :)

I've been waiting for this kind of plugin for ages :) Great job.

Post

that presents plugins running at different samplerates? could you specify the bad parts about this?
I'm sure it's common to have developped a DSP library with a single samplerate constant, making different instances of the same plugin share the same samplerate. So it's likely to break -some- plugins if you don't oversample all of the instances.
DOLPH WILL PWNZ0R J00r LAWZ!!!!

Post

I've been going on about the merits of 88/96khz on vsti's for ages.
Funny how I got shot down by so many here on Kvr
high samplerates have merits on poorly written (not caring about aliasing by themselves) VST's, however, this shouldn't be mixed this with retarded claims about the audibility of content above 22khz.
That joshhunsaker below is all happy because he doesn't understand anything, and thinks that what's being written in this thread does prove the audibility of >22khz freqs.
DOLPH WILL PWNZ0R J00r LAWZ!!!!

Post

Please Help.

No work For me. Window ME.
Please help.

Post

metamorphosis wrote:Yes, higher sample rates are better, sure, I know that. But are you saying that you'll get better results from rendering a synth at 192khz resampled back down to 96khz, than you would if you just rendered 'straight' at 96khz?
Cause I'd have to say, if you can hear a difference between the two, I'm really surprised-
Thats exactly what ive just said isnt it?

Ok heres a 1Khz naive saw...

http://www.flak.clara.co.uk/NaiveSaw.wav

Heres the FFT analysis of it...

Image

Everything between the main peeks is alising, notice how densely its packed. Thats because the aliasing has wrapped round many times, up and down..

Heres the same sawtooth 4x oversampled..

http://www.flak.clara.co.uk/4xOSSaw.wav

Heres the FFT analysis of it...

Image

Notice how the aliasing is a bit lower in respect to the main peaks and a lot less densely packed.
Last edited by nollock on Sun Sep 16, 2007 11:26 am, edited 2 times in total.

Post Reply

Return to “Instruments”