This seems interesting. Two brain can easily produce more nice things. But you can also destroy things fasterChris Walton wrote:Christian, how about we join forces? Your DSP skill is unmatched, and I've got the whole VST wrapping thing down, ....
Oversample VST Plugin Shell Extension
-
- KVRAF
- 5200 posts since 17 Aug, 2004
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
Hi, I'd really like to work together with you. The only problem I see right now is, that my stuff is based on my open source project and that is written in Pascal/Delphi (rather then C++).Chris Walton wrote:Christian, how about we join forces? Your DSP skill is unmatched, and I've got the whole VST wrapping thing down, ....
Also my approach (hosting the plugin rather than redirecting dispatcher opcodes) is different, because I want to make it different (your tool already exists and thus I did not wanted to reinvent the wheel).
However, if you need any advice or code snippets feel free to contact me or have a look into the open source project (you can find this little tool under examples). Other than this I could suggest to have a look at your code (it's open source as well IIRC), looking for some improvements.
Kind regards,
Christian
- KVRAF
- 2187 posts since 25 Jan, 2007 from the back room, away from his wife's sight (or so he thinks)
Basically, the problem is that VST Oversampler 2 is supposed to be able to resample to arbitrary samplerates. I'm using the speex resampler at the moment, but that's slow and awkward for use with VST (I need a bunch of extra logic to make sure that I get the exact right amount of sampleFrames).Christian Budde wrote:Hi, I'd really like to work together with you. The only problem I see right now is, that my stuff is based on my open source project and that is written in Pascal/Delphi (rather then C++).Chris Walton wrote:Christian, how about we join forces? Your DSP skill is unmatched, and I've got the whole VST wrapping thing down, ....
Also my approach (hosting the plugin rather than redirecting dispatcher opcodes) is different, because I want to make it different (your tool already exists and thus I did not wanted to reinvent the wheel).
However, if you need any advice or code snippets feel free to contact me or have a look into the open source project (you can find this little tool under examples). Other than this I could suggest to have a look at your code (it's open source as well IIRC), looking for some improvements.
Kind regards,
Christian
I could write my own resampler, but it wouldn't be nearly as fast or as high quality than if you were doing it, since you have much more experience and I don't have enough time
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.
Squire Stratocaster / Chapman ML3 Modern V2 / Fender Precision Bass
Formerly known as arke, VladimirDimitrievich, bslf, and ctmg. Yep, those bans were deserved.
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
With linear phase filters all frequencies have the same (group) delay, while with minimum phase filters are low frequencies below the cutoff frequency are usually delayed (in average) longer. Especially around the cutoff frequency the averaged delay can be quite long especially for resonant filters. The oversampling filters (for anti aliasing) I used here can either be Butterworth (as Linkwitz-Riley) or Chebyshev. Both are minimum phase filters and thus do not have a constant group delay. The chebyshev filters are also quite resonant (but steeper around the cutoff frequency). Thus the oversampling filters will affect the sound (call it 'colour' if you like). This is especially true for high order filters (can be up to 192dB/Oct). The coloration should be inaudible, especially since the cutoff frequency is around the nyquist frequency, but some people mistrust this (haven't found anyone who can reliable hear it).sunny_j wrote:can someone please explain to me the benefits of linear-phase oversampling over the present type? how much better is it sonically?
In contrast to this the group delay of linear phase filters is constant over the whole frequency range at the expense of latency. So a very light linear phase filter kernel of only 64 coefficients will introduce 32 samples latency. This is quite little, but might disqualify the use for a realtime purpose. Also the linear phase filters usually are not that steep, so less alias suppression can be expected and you need to increase the oversampling factor.
A compromise between linear phase and minimum phase filter would be a bessel filter, that has nearly linear phase behaviour in the pass band. Keep in mind, that it also introduces latency (but not as constant and predictable as with linear phase filters).
In the end it's very hard to find an optimum oversampling filter for any task. I'm tempted to add a tool that scans the presets and automatically find the best settings based on some criteriums (low CPU usage, high alias suppression), but that's a challenge on its own.
Kind regards,
Christian
-
- KVRist
- 327 posts since 9 Sep, 2008
thankyou for the explanationChristian Budde wrote:With linear phase filters all frequencies have the same (group) delay, while with minimum phase filters are low frequencies below the cutoff frequency are usually delayed (in average) longer. Especially around the cutoff frequency the averaged delay can be quite long especially for resonant filters. The oversampling filters (for anti aliasing) I used here can either be Butterworth (as Linkwitz-Riley) or Chebyshev. Both are minimum phase filters and thus do not have a constant group delay. The chebyshev filters are also quite resonant (but steeper around the cutoff frequency). Thus the oversampling filters will affect the sound (call it 'colour' if you like). This is especially true for high order filters (can be up to 192dB/Oct). The coloration should be inaudible, especially since the cutoff frequency is around the nyquist frequency, but some people mistrust this (haven't found anyone who can reliable hear it).sunny_j wrote:can someone please explain to me the benefits of linear-phase oversampling over the present type? how much better is it sonically?
In contrast to this the group delay of linear phase filters is constant over the whole frequency range at the expense of latency. So a very light linear phase filter kernel of only 64 coefficients will introduce 32 samples latency. This is quite little, but might disqualify the use for a realtime purpose. Also the linear phase filters usually are not that steep, so less alias suppression can be expected and you need to increase the oversampling factor.
A compromise between linear phase and minimum phase filter would be a bessel filter, that has nearly linear phase behaviour in the pass band. Keep in mind, that it also introduces latency (but not as constant and predictable as with linear phase filters).
In the end it's very hard to find an optimum oversampling filter for any task. I'm tempted to add a tool that scans the presets and automatically find the best settings based on some criteriums (low CPU usage, high alias suppression), but that's a challenge on its own.
Kind regards,
Christian
-
- KVRian
- 889 posts since 10 Jul, 2004
the oversampled plugins do not work in energy xt2. (the host crashes)
btw thanks for all your great plugins.
btw thanks for all your great plugins.
-
- KVRist
- 129 posts since 25 Sep, 2008 from London, UK
That's a seriously good idea.Chris Walton wrote:Christian, how about we join forces? Your DSP skill is unmatched, and I've got the whole VST wrapping thing down, ....
Instead of 2 oversampling wrappers, how about one supreme version?
Linear phase is a good idea, but I think Christian has proven (with Advanced Clipper) that 6th order Butterworth is more than adequate.
- KVRian
- 936 posts since 29 May, 2002 from UK
Opening thread post link no longer works, is there a new link in another thread somewhere?Christian Budde wrote:Hi,
I just created a shell extension that allows the creation of an oversampled VST Plugin from the Explorer.
The installer will add it as shell extension, so that you can right click on any VST Plugin to create an oversampled version by selecting 'Oversample VST Plugin'. Get it here:
http://www.savioursofsoul.de/Christian/ ... ll-668.exe
It is basically a stripped version of the plugin splitter.
Christian
-
Christian Budde Christian Budde https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=25572
- KVRAF
- Topic Starter
- 1538 posts since 14 May, 2004 from Europe
Hi,
please have a look at my personal website (http://www.savioursofsoul.de/Christian). It should be there (somewhere...).
Yet I haven't integrated the tool into my automated publishing system, but I will do once I have a regular internet connection. Then you will always be able to get the latest version there right from my computer.
Christian
please have a look at my personal website (http://www.savioursofsoul.de/Christian). It should be there (somewhere...).
Yet I haven't integrated the tool into my automated publishing system, but I will do once I have a regular internet connection. Then you will always be able to get the latest version there right from my computer.
Christian
- KVRian
- 936 posts since 29 May, 2002 from UK
Thanks for the new link Chris, though sadly I couldn't find it anywhere, tried clicking on all the text on the left hand side but couldn't find it buried underneath any of em.
*edit* for some reason I typed christ instead of chris. lol, sorry.
*edit* for some reason I typed christ instead of chris. lol, sorry.
Last edited by Arksun on Thu Aug 13, 2009 8:13 pm, edited 1 time in total.
- KVRAF
- 14000 posts since 19 Jun, 2008 from Seattle
sunny_j wrote:Christian Budde wrote:With linear phase filters all frequencies have the same (group) delay, while with minimum phase filters are low frequencies below the cutoff frequency are usually delayed (in average) longer. Especially around the cutoff frequency the averaged delay can be quite long especially for resonant filters. The oversampling filters (for anti aliasing) I used here can either be Butterworth (as Linkwitz-Riley) or Chebyshev. Both are minimum phase filters and thus do not have a constant group delay. The chebyshev filters are also quite resonant (but steeper around the cutoff frequency). Thus the oversampling filters will affect the sound (call it 'colour' if you like). This is especially true for high order filters (can be up to 192dB/Oct). The coloration should be inaudible, especially since the cutoff frequency is around the nyquist frequency, but some people mistrust this (haven't found anyone who can reliable hear it).sunny_j wrote:can someone please explain to me the benefits of linear-phase oversampling over the present type? how much better is it sonically?
In contrast to this the group delay of linear phase filters is constant over the whole frequency range at the expense of latency. So a very light linear phase filter kernel of only 64 coefficients will introduce 32 samples latency. This is quite little, but might disqualify the use for a realtime purpose. Also the linear phase filters usually are not that steep, so less alias suppression can be expected and you need to increase the oversampling factor.
A compromise between linear phase and minimum phase filter would be a bessel filter, that has nearly linear phase behaviour in the pass band. Keep in mind, that it also introduces latency (but not as constant and predictable as with linear phase filters).
In the end it's very hard to find an optimum oversampling filter for any task. I'm tempted to add a tool that scans the presets and automatically find the best settings based on some criteriums (low CPU usage, high alias suppression), but that's a challenge on its own.
Kind regards,
Christian
thankyou for the explanation
+1 ~ Excellent!
-
- KVRer
- 9 posts since 6 Apr, 2009
It is located under "Programs" at the very bottom of the page.Arksun wrote:Thanks for the new link Christ, though sadly I couldn't find it anywhere, tried clicking on all the text on the left hand side but couldn't find it buried underneath any of em.
http://www.savioursofsoul.de/Christian/?page_id=5
Direct link (working; I just tested it): http://www.savioursofsoul.de/Christian/ ... ll-668.exe
- KVRian
- 936 posts since 29 May, 2002 from UK
How did I miss that?!?Naturalist wrote:It is located under "Programs" at the very bottom of the page.Arksun wrote:Thanks for the new link Christ, though sadly I couldn't find it anywhere, tried clicking on all the text on the left hand side but couldn't find it buried underneath any of em.
http://www.savioursofsoul.de/Christian/?page_id=5
Direct link (working; I just tested it): http://www.savioursofsoul.de/Christian/ ... ll-668.exe
*reminds myself to visit Specsavers asap*



