FSRC resampler, Seems good and really fast. |
![]() ![]() |
FSRC resampler, Seems good and really fast. |
Jul 23 2012, 11:31
Post
#1
|
|
|
Group: Members Posts: 230 Joined: 21-February 05 Member No.: 20022 |
Anyone tried FSRC http://libfsrc.sourceforge.net/? The tests shows good specs and I was surprised by its speed.
QUOTE FSRC (Overlap-Save) - ~5.6s FSRC (Polyphase) - ~16.1s libsamplerate - ~103.9s Any programmers who might be interested in making a Foobar2000 dsp of it if it's possible? I would like to try it out against SoX. Regards. |
|
|
|
Jul 23 2012, 11:44
Post
#2
|
|
![]() Server Admin Group: Admin Posts: 4808 Joined: 24-September 01 Member No.: 13 |
Note that it's a GPL library which (IIRC) makes distributing a foobar2000 component based on it problematic.
|
|
|
|
Jul 23 2012, 12:20
Post
#3
|
|
|
Group: Members Posts: 230 Joined: 21-February 05 Member No.: 20022 |
That's a shame. Does GPL say that it is only allowed in open source programs or something? Regards.
|
|
|
|
Jul 23 2012, 12:44
Post
#4
|
|
![]() Server Admin Group: Admin Posts: 4808 Joined: 24-September 01 Member No.: 13 |
|
|
|
|
Jul 23 2012, 13:15
Post
#5
|
|
![]() Group: Members Posts: 266 Joined: 3-August 08 From: UK Member No.: 56644 |
Anyone tried FSRC http://libfsrc.sourceforge.net/? The tests shows good specs and I was surprised by its speed. The numbers on the FSRC web-site look good because the author chose to compare it against libsamplerate, one of the slowest SRCs around (and in its slowest mode). Also, it may not be that significant overall, but he's way-off with his ripple estimation of libsamplerate; it's much smaller than suggested there. As for its claimed alpha status: when it works, the output looks good, but it does crash out on certain ratios, even some fairly simple ones. The website mentions a future comparison against SoX, but that was several years ago; maybe he made the comparison then gave up when he saw the results. FSRC is GPL as it relies on FFTW's (GPL) ability to perform FFTs on arbitrary sized blocks (not just powers of 2, for which there are many non-GPL FFT libs available). |
|
|
|
Jul 23 2012, 16:41
Post
#6
|
|
|
Group: Members Posts: 230 Joined: 21-February 05 Member No.: 20022 |
Thanks for the great explanations guys. This migh be a side track but SRC is one of
Pulseaudio's resamplers right? Do you guys know if it is possible to use SoX's resample in Pulseaudio? |
|
|
|
Jul 23 2012, 17:12
Post
#7
|
|
![]() Group: Members Posts: 266 Joined: 3-August 08 From: UK Member No.: 56644 |
Yes, libsamplerate a.k.a. SRC is available for Pulse; easy integration as a lib is one of its big pluses. Though it probably ought to be, AFAIK SoX isn't available for pulse (neither its SRC nor the rest of libSoX has really been pushed much in the general purpose lib direction).
|
|
|
|
Jul 30 2012, 09:30
Post
#8
|
|
![]() Group: Members Posts: 266 Joined: 3-August 08 From: UK Member No.: 56644 |
It comes with a standalone tool, so I did a quick comparison with some other well-known SRCs (sndfile-resample = 0.1.7-3ubuntu1; others converters compiled from latest source).
Execution time and comparative execution time percentage shown for a couple of common SRC ratios, and a couple of conversion qualities: High-ish quality: CODE 44100 -> 96000 sox rate 6.21s 100.0% 44100 -> 96000 ssrc 20.58s 331.4% 44100 -> 96000 fsrctool -q mq20 27.74s 446.7% 44100 -> 96000 sndfile-resample -c 1 40.17s 646.9% 96000 -> 44100 sox rate 5.28s 100.0% 96000 -> 44100 ssrc 19.98s 378.4% 96000 -> 44100 fsrctool -q mq20 28.88s 547.0% 96000 -> 44100 sndfile-resample -c 1 34.54s 654.2% ![]() Best-ish quality: CODE 44100 -> 96000 sox rate -vs 7.01s 100.0% 44100 -> 96000 ssrc_hp 32.86s 468.8% 44100 -> 96000 fsrctool -q hq24 24.19s 345.1% 44100 -> 96000 sndfile-resample -c 0 369.50s 5271.0% 96000 -> 44100 sox rate -vs 5.91s 100.0% 96000 -> 44100 ssrc_hp 32.31s 546.7% 96000 -> 44100 fsrctool -q hq24 22.58s 382.1% 96000 -> 44100 sndfile-resample -c 0 359.16s 6077.2%
This post has been edited by bandpass: Jul 30 2012, 09:39 |
|
|
|
Jul 30 2012, 11:20
Post
#9
|
|
|
Group: Members Posts: 230 Joined: 21-February 05 Member No.: 20022 |
Thank you bandpass for those informative demonstrations. I guess compared to the others, this resamplers is not quite as high quality.
|
|
|
|
Jul 30 2012, 11:43
Post
#10
|
|
![]() Group: Members Posts: 3212 Joined: 29-October 08 From: USA, 48236 Member No.: 61311 |
Anyone tried FSRC http://libfsrc.sourceforge.net/? The tests shows good specs and I was surprised by its speed. QUOTE FSRC (Overlap-Save) - ~5.6s FSRC (Polyphase) - ~16.1s libsamplerate - ~103.9s Any programmers who might be interested in making a Foobar2000 dsp of it if it's possible? I would like to try it out against SoX. Regards. How does it compare if you run the same tests that they run at: Infinite Wave Test ReSamplers |
|
|
|
Jul 30 2012, 12:54
Post
#11
|
|
![]() Group: Members Posts: 266 Joined: 3-August 08 From: UK Member No.: 56644 |
AFAIK, one of the two tests I ran above (96k -> 44100) is the same as is run at the Infinite Wave site (they test only one ratio, and in only one direction). I ran each test twice, once on an 8-second sweep (as they do, though I chose a linear sweep; they use a quadratic) to generate the spectrograms, and once on several minutes of audio, for the execution-time measurement. Where possible, I used the same settings as Infinite Wave for each converter; but I don't know what settings were used there for libfsrc, apparently something with better stop-band rejection than "-q hq24", but I couldn't get anything higher than that (such as "-q push") to work. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 18th May 2013 - 08:39 |