Skip to main content

Topic: Resampler plugin (Read 305416 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • h34rtb1t
  • [*]
Resampler plugin
Reply #100
Would you please add one more configuration setting, which do upsample 4x for [0, 48]kHz and 2x for (48, 96]kHz source.

Thanks.


You can do this with SoX_resampler_mod.

Just add 2 resamplers to DSP chain. First makes 4x upsampling and passes 64000,88200,96000 unmodified. Second makes 2x upsampling and passes 128000,176400,192000 unmodified.


Oh, I see. Great tip!

But, could you please provide the binary of modded version of 0.5.4.1+SSE2?

  • a3aan
  • [*][*][*]
Resampler plugin
Reply #101
SoX resampler (+mod) 0.5.4.2:
..

Thanks!

  • hidn
  • [*][*]
Resampler plugin
Reply #102
It is possible to do x64 bit version of plugin? 

  • kode54
  • [*][*][*][*][*]
  • Administrator
Resampler plugin
Reply #103
It is possible to do x64 bit version of plugin? 

Yes, as soon as there's an x64 version of foobar2000.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #104
It is possible to do x64 bit version of plugin? 


Yes. All you need is 64-bit version of foobar2000.

  • hidn
  • [*][*]
Resampler plugin
Reply #105
well. request useless. 'll just wait for the mass transition to x64 
  • Last Edit: 08 June, 2010, 02:09:29 PM by hidn

  • j_b
  • [*]
Resampler plugin
Reply #106
Try this simple plugin. It adds 2 entries to DSP: "2x upsample w/o lpf" and "2x downsample w/o lpf".


Please consider adding “2x upsample with linear interpolation” to foo_dsp_resamp.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #107
Quote
Please consider adding “2x upsample with linear interpolation” to foo_dsp_resamp.

Why do you want it? 
  • Last Edit: 09 June, 2010, 11:36:55 AM by lvqcl

  • ArtS21
  • [*]
Resampler plugin
Reply #108
You can do this with SoX_resampler_mod.

Just add 2 resamplers to DSP chain. First makes 4x upsampling and passes 64000,88200,96000 unmodified. Second makes 2x upsampling and passes 128000,176400,192000 unmodified.

I'm confused  Mod allows upsampling only up to 48000. How come you write about 64000,88200,96000, etc?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #109
Quote
Mod allows upsampling only up to 48000.


You can choose target samplerate. Works here flawlessly.

  • rastan
  • [*]
Resampler plugin
Reply #110
I recently modded my X-fi Prelude with removing 24mhz crystal and connecting an external clock generator with same value due to jitter. After this mod, I managed with failure of playback 44.1k files. Since that I don't know how fix this via another hardware mod, i went to resample during playback all my archive (most 44.1khz flac) to a value which X-Fi chip natively supports it (aka 48/96khz). Then I find Sox resampler here.

I wonder that is there any comparision between X-Fi's native resampler vs. Sox even I know that Sox resampler one of the best out there.

Thanks to lvpcl and Sox team for this great fb2k component anyway..
  • Last Edit: 17 July, 2010, 02:53:18 PM by rastan

  • khaos974
  • [*]
Resampler plugin
Reply #111
In the 0.5.4.2, what is the difference between the mod and the mod2 versions?

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #112
mod: It doesn't resample the frequencies that you enter in the text field.

mod2: It resamples only the frequencies that you enter in the field.

  • Sandrine
  • [*][*][*][*]
Resampler plugin
Reply #113
Thanks for the new version! Please consider releasing processor optimized versions for mod and mod2.

  • kode54
  • [*][*][*][*][*]
  • Administrator
Resampler plugin
Reply #114
That really depends on the resampler library itself. I don't think many compilers will just automatically parallelize/vectorize the entire process and magically make things faster.

  • Alex B
  • [*][*][*][*][*]
Resampler plugin
Reply #115
I just downloaded the v. 0.5.4.3.

I have a K10 (a Phenom II). Should I use K8 or Dual Core or should I try to run my own tests?

The packaging is now different. The mod package is separate and it does not contain optimized versions. Are the mod versions "MSVS generic" ? The v. 0.5.4.2 included SSE2 mods.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #116
I just downloaded the v. 0.5.4.3.

I have a K10 (a Phenom II). Should I use K8 or Dual Core or should I try to run my own tests?

"Core2" is for Intel Core2 Duo/Quad processors. So I suppose that you should use K8.

Anyway, the performance increase is very little (about 10% or even less), that's why
The packaging is now different. The mod package is separate and it does not contain optimized versions.


Are the mod versions "MSVS generic" ?

Yes.

  • Alex B
  • [*][*][*][*][*]
Resampler plugin
Reply #117
Thanks.

I did a quick test. I converted 25 short wav tracks (~350 MB) from 44.1. to 48k. I ran the test set five times in a row with each different compile. The sample rate conversion settings were default. Foobar used all four CPU cores.

Here are the results:
Code: [Select]
Generic
Total encoding time: 0:22.578, 93.30x realtime
Total encoding time: 0:23.625, 89.17x realtime
Total encoding time: 0:22.140, 95.15x realtime
Total encoding time: 0:22.718, 92.73x realtime
Total encoding time: 0:22.844, 92.22x realtime

Atom
Total encoding time: 0:22.765, 92.54x realtime
Total encoding time: 0:23.594, 89.28x realtime
Total encoding time: 0:22.875, 92.09x realtime
Total encoding time: 0:23.656, 89.05x realtime
Total encoding time: 0:22.922, 91.90x realtime

Core 2
Total encoding time: 0:22.375, 94.15x realtime
Total encoding time: 0:22.813, 92.34x realtime
Total encoding time: 0:22.937, 91.84x realtime
Total encoding time: 0:22.719, 92.72x realtime
Total encoding time: 0:23.203, 90.79x realtime

K8
Total encoding time: 0:23.578, 89.34x realtime
Total encoding time: 0:24.218, 86.98x realtime
Total encoding time: 0:22.734, 92.66x realtime
Total encoding time: 0:22.657, 92.98x realtime
Total encoding time: 0:23.781, 88.58x realtime

Mod
Total encoding time: 0:24.125, 87.32x realtime
Total encoding time: 0:23.891, 88.17x realtime
Total encoding time: 0:24.141, 87.26x realtime
Total encoding time: 0:23.140, 91.04x realtime
Total encoding time: 0:22.734, 92.66x realtime
I can't make any conclusions. The results are too varied.
  • Last Edit: 10 September, 2010, 11:24:24 AM by Alex B

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #118
You can use foo_benchmark for tests. Just use 32-bit float WAV file as an input.

For 16-bit input files, foo_hdcd and foo_input_dts.dll will also be called. This will slightly decrease actual speed.

  • kode54
  • [*][*][*][*][*]
  • Administrator
Resampler plugin
Reply #119
For 16-bit input files, foo_hdcd and foo_input_dts.dll will also be called. This will slightly decrease actual speed.

Only for the first 5 seconds or so worth of data, unless there's anything to decode. I suppose this still has a noticeable effect on benchmarks.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #120
wav "decoding" speed w/o foo_hdcd and foo_input_dts:
32-bit: 6000x realtime
16-bit: 10000x realtime

with both foo_hdcd and foo_input_dts:
32-bit: 6000x realtime
16-bit: 2800x realtime


Well, it seems that this difference (10000 vs. 2800) is negligible when resampling speed is only ~90x realtime.

Resampler plugin
Reply #121
About new sse3 test version...

Core i3 530 @ 2.94 GHz

foobar2000 1.1 Decoding Speed Test (source: 16 bit 44.1 kHz PCM, 5 passes, buffer entire file into memory, high priority, DSP: SoX 48000 Hz Very High, 95% bandpass, linear phase)

Generic 0.5.4.3 version:

Quote
Total length: 34:51.733
Info Read time: 0:00.000
Opening time: 0:00.102
Decoding time: 0:34.626
60.409x realtime


0.5.4.3 Core 2 version:

Quote
Total length: 34:51.733
Info Read time: 0:00.000
Opening time: 0:00.052
Decoding time: 0:30.648
68.251x realtime


SSE3 test version:

Quote
Total length: 34:51.733
Info Read time: 0:00.000
Opening time: 0:00.118
Decoding time: 0:23.868
87.638x realtime


  • Last Edit: 14 September, 2010, 04:15:51 PM by Steve Forte Rio

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #122
Thanks for testing.

  • jaro1
  • [*][*]
Resampler plugin
Reply #123
The version 0.5.4.3 was for all types of processor (atom, core2, K8) SSE2 version, so there are also other processor specific optimizations there, right?
Will there also be  procesor specific version with SSE3 instructions enabled? Version 0.5.5, which is SSE3, is common for all procesor types. (but maybe i am completely false). Difference between v. 0.5.4.3 (K8) - definitelly faster as generic - and 0.5.5 is negligible on Athlon 64.
Thanks to lvqcl for further improvements of his component.

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Resampler plugin
Reply #124