Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Resampler plugin (Read 436952 times) previous topic - next topic
0 Members and 3 Guests are viewing this topic.

Re: Resampler plugin

Reply #475
I'm sure lvqcl will do a proper foobar2000 v2.0 release. In the meantime I created a quick 64-bit and dark mode aware compile. This is probably slower than lvqcl's version, I had to revert some SSE functions to generic versions.




Re: Resampler plugin

Reply #479
Peter made it super simple. I use dark mode support provided by the core so binaries don't get bloated.

#include <foobar2000/SDK/coreDarkMode.h>
In class dialog_dsp_rate add private member:
fb2k::CCoreDarkModeHooks m_hooks;

In OnInitDialog() add:
m_hooks.AddDialogWithControls(m_hWnd);

This is it. If you had a preferences page you would need to add preferences_state::dark_mode_supported to your get_state() return value.

Re: Resampler plugin

Reply #480
Thanks, guys! I don't mind using "old" foobar for now, but I'm looking forward to a 64bit future. :)

In the meantime I created a quick 64-bit and dark mode aware compile...
When used with "Normal" quality I get garbled sound, in converted audio and in real-time resampling (playback). This was with a 48kHz file into 88.2kHz output.

Re: Resampler plugin

Reply #481
It seems I can't nuke old attachments on this forum even after all the updates. Previous compile used 32-bit float routines for signal handling when best quality wasn't used, now I forced 64-bit float processing all the time.

Re: Resampler plugin

Reply #482
glad to see this is still maintained. thanks!

Re: Resampler plugin

Reply #483
Can you make it possible to set the Bandwidth to more than 99.0 % (99.9999・・・・・・), or use detailed settings like more attenuation (db), tap size for example (This could be useless but I just want to try. I guess everyone have enough machine to try now).

Re: Resampler plugin

Reply #484
I ran a quick speed test on best quality (24bit 96khz -> 24bit 44,1khz):
    SoX 64-bit plugin: 91.81x realtime
    dBpoweramp/SSRC: 46.33x realtime
It is still almost 2 times faster.

Re: Resampler plugin

Reply #485
@lvqcl
Have u got any closer to making a new v2 resampler component or?

Re: Resampler plugin

Reply #486
Am I guessing correctly that "Normal" quality in the plugin is the same as "High" quality in SoX?




Re: Resampler plugin

Reply #490
I tried to replicate the (2015) sox.exe rate -v setting by using Best; 95%; no aliasing; linear phase in the plugin. But the results were not identical, even with 16bit files and dithering disabled (-D in the cli).
Is this expected? I know there are some differences between the two when handling 32bit float files, but IDK if that explains it.


And I noticed that Sox has an undocumented rate -u ("ultra") quality level. It's described here.
It would be nice to have that available, even if it's overkill.

Re: Resampler plugin

Reply #491
What is passband, which % is the best?

Re: Resampler plugin

Reply #492
What is passband, which % is the best?
From everything I've read, it's 95%.

Even the SoX FAQ states that for "most people's needs, 99% of the time", the bandwidth setting should not be changed from the default setting of 95%.

In the SoX PDF, it states: "The term ‘pass-band’ is used to refer to all frequencies up to the band-width point (e.g. for 44.1kHz sampling rate, and a resampling band-width of 95%, the pass-band represents frequencies from 0Hz (D.C.) to circa 21kHz). Increasing the resampler’s band-width results in a slower conversion and can increase transient echo artefacts (and vice versa)."

There are lots of tests and discussions about this, and it seems that there are opinions and viewpoints of every stripe, but a good site for objective data regarding sample rate conversion tests is http://src.infinitewave.ca/

Re: Resampler plugin

Reply #493
@lvqcl
Have u got any closer to making a new resampler component for v2 x64 or?
(and x86 also ;) )