Best quality resampling method?, sox, r8brain, libsamplerate, ssrc |
![]() ![]() |
Best quality resampling method?, sox, r8brain, libsamplerate, ssrc |
May 23 2009, 16:35
Post
#1
|
|
|
Group: Members Posts: 166 Joined: 28-September 06 Member No.: 35705 |
SoX Resampler (VHQ)
r8brain (Pro) SSRC (HP) tuned by EAC3TO SSRC (HP) Secret Rabbit Code (libsamplerate) tuned by ReClock Secret Rabbit Code (libsamplerate) Wich of this resamplers have you tried, what you can reccomend? I need it mostly for NTSC/PAL (4% slowdown/speedup) conversions. I have found this page (wich have most of this methods listed), but still not sure what will the best for movies (48 kHz, AC3 artefacts). This post has been edited by ZinCh: May 23 2009, 16:39 |
|
|
|
May 23 2009, 19:12
Post
#2
|
|
![]() Group: Developer Posts: 2986 Joined: 2-December 07 Member No.: 49183 |
SSRC doesn't support arbitrary input/output samplerates.
What do you mean by "tuned"? From Slysoft forum: QUOTE 1.8.3.6 - 21/02/2009 * New: Updated resampler to libsamplerate 0.1.7 - and that doesn't looks like tuning. This post has been edited by lvqcl: May 23 2009, 20:09 |
|
|
|
May 23 2009, 19:45
Post
#3
|
|
|
Group: Members Posts: 166 Joined: 28-September 06 Member No.: 35705 |
|
|
|
|
May 23 2009, 20:40
Post
#4
|
|
![]() Group: Developer Posts: 2986 Joined: 2-December 07 Member No.: 49183 |
1. I wrote «So I doubt you can do "4% slowdown/speedup" with it», and it's wrong, SSRC can do 24/25 or 25/24 conversions.
2. AFAIK eac3to uses r8b.dll, and this implies that it uses r8brain free, not pro. This post has been edited by lvqcl: May 23 2009, 20:53 |
|
|
|
May 23 2009, 22:01
Post
#5
|
|
|
Group: Members Posts: 166 Joined: 28-September 06 Member No.: 35705 |
eac3to changelog:
v2.76 * SSRC resampling parameters modified slightly to reduce steepness and ringing v2.75 * new option "-fast" switches SSRC resampler to fast, but low quality mode * new option "-r8brain" forces use of r8brain resampler instead of SSRC v2.69 * added high precision SSRC resampler * resampling "-quality" now allows "low", "high" (SSRC) or "ultra" (r8brain) * resampling quality now defaults to "high" (SSRC) quotes from doom9, mostly from author: QUOTE Please note that I'm not sure whether SSRC or r8brain is better for resampling. r8brain is a lot slower than SSRC, so hopefully it's a little bit better, but you be the judge. Because of the dramatic speed difference the highest quality SSRC mode is now the default resampling mode (also used for PAL speedup/slowdown). SSRC is somewhat limited in which conversions it likes to do exactly, though. Some sample rate conversions might be declined by SSRC. If you stumble over such a case, just use the "-quality=ultra" option to switch to r8brain instead. QUOTE I meant the maintainer of this comparison website: http://src.infinitewave.ca/ He gave me some feedback on my early SSRC implementation, based on which I tweaked the SSRC parameters a bit. But I'm still interesting in your comparison, too. Would be nice if you could use the latest eac3to version, because of the tweaked SSRC parameters... As far as I understand the technical comparison website above, SSRC is a rather steep resampling filter with good results, but with "normal" ringing. r8brain filters out quite a lot of the high frequencies, but on the positive side r8brain has very reduced ringing (see pulse graph). So both filters have their advantages and disadvantages, technically. QUOTE There are no exact comparisons, I'm afraid. Reading through posts at hydrogenaudio.org shows that SSRC is recommended most of the time. This topic particularly points out one problem with r8brain: http://www.hydrogenaudio.org/forums/index....showtopic=64989 By the way, KikeG recommends these command lines for SSRC: http://www.hydrogenaudio.org/forums/index.php?showtopic=7133 QUOTE Thanks. Well, the guys talking about r8brain there are just looking at the graphs and comment on that.
That still doesn't fully satisfy me. But anyway, SSRC is default in eac3to now, while r8brain can still optionally be used. So everybody should be happy. The settings listed there are mainly for dithering. That doesn't apply here because eac3to fetches the full floating point processing result from SSRC. So SSRC's dithering functionality isn't used at all. |
|
|
|
May 23 2009, 22:43
Post
#6
|
|
![]() Group: Super Moderator Posts: 3268 Joined: 26-July 02 From: princegeorge.ca Member No.: 2796 |
I use and prefer SoX, as per the analyses at http://src.infinitewave.ca/
-------------------- (atrix|(fb2k->e-mu 0404 usb|audio 8 dj))->hd280|jvc ha-fx35-b
|
|
|
|
May 24 2009, 00:07
Post
#7
|
|
![]() Group: Developer Posts: 2986 Joined: 2-December 07 Member No.: 49183 |
There's also foobar2000 plugin "SSRC X" (foo_dsp_ssrcX.dll): http://foobar2000.xrea.jp/up/files/up881.zip
|
|
|
|
May 24 2009, 03:04
Post
#8
|
|
|
Group: Members Posts: 410 Joined: 9-August 07 From: Los Angeles Member No.: 46048 |
I use and prefer SoX, as per the analyses at http://src.infinitewave.ca/ Ditto. In my mind, there isn't a better free resampler...plus it has other notable functions |
|
|
|
May 24 2009, 12:08
Post
#9
|
|
![]() Group: Developer Posts: 2986 Joined: 2-December 07 Member No.: 49183 |
I tried to ABX SoX and libsamplerate... unsuccessfully. So for me, the faster = the better.
|
|
|
|
May 24 2009, 12:38
Post
#10
|
|
![]() Group: Members Posts: 552 Joined: 22-May 05 From: France Member No.: 22220 |
I use and prefer SoX, as per the analyses at http://src.infinitewave.ca/ Ditto. In my mind, there isn't a better free resampler...plus it has other notable functions |
|
|
|
May 29 2009, 18:36
Post
#11
|
|
|
Group: Members Posts: 166 Joined: 28-September 06 Member No.: 35705 |
Anyone know what resampler use LAME? I have tried to look into code, but was unsuccessful.
|
|
|
|
May 29 2009, 18:50
Post
#12
|
|
|
Group: Members Posts: 410 Joined: 9-August 07 From: Los Angeles Member No.: 46048 |
In my mind, there isn't a better free resampler...plus it has other notable functions Are your preferences solely based on the specs (graphs) or was there also listening involved ? Based entirely on the testing at Infinite Wave and on my own limited measurements. I wouldn't claim to be able to perceive differences between any resamplers that might be categorically rated as being "good", "very good" or "excellent" (not that such categorized rating system exists or would exist). |
|
|
|
May 29 2009, 19:18
Post
#13
|
|
|
Group: Members Posts: 1 Joined: 26-May 09 Member No.: 70132 |
QUOTE I have found this page (wich have most of this methods listed), but still not sure what will the best for movies (48 kHz, AC3 artefacts). QUOTE Are your preferences solely based on the specs (graphs) or was there also listening involved ? Hi, I'm new to this great hydrogen forum but i have some experience with music resampling and would like to contribute. For me the use of resampling is to change the speed of an audio file or upsampling the music so that it sounds more natural. I dont know much about PAL / NTSC speed change or tempo correction but i have "upsampled" my music since i got my first "real" sound card. It was a creative audigy soundcard that had a real problem, back then it was unknown that it could play only in 48000Hz, 96000Hz and 192000Hz without sounding crappy. Somehow i witnessed that, music playing upsampled to 48000Hz sounded much more natural and pleasant on it. From this day on i have always resampled my music one way or the other and tested all mentioned resamplers. I think there's no better resampler than Sox (rate -v 48000Hz). In comparison the bass and highs are more musical sounding with a good resampler. The command one-liner for resampling with Sox (in highest possible quality!), so that an 48000Hz file becomes 4% longer, would be : CODE Sox.exe YourFile.wav --buffer 16384 -f -b 64 -c 1 -t raw -f -b 64 -c 2 - | Sox.exe -t raw -r 48k -f -b 64 -c 2 - --buffer 16384 -t raw -f -b 64 -c 2 - rate -p 18 -v 50002 | sox.exe --buffer 16384 -t raw -r 48k -f -b 64 -c 2 - -s -b 32 High_Slower_Resampled_Stereo.wav Pretty easy, eh? Info: 48000 + 4,17% = 50002 you can change it in the middlepart (-v 50002) If you want to try it, download my AC3 speedchange. Drag'n'Drop a .wav file on the Slower! Faster! files and the music is resampled by Sox +-4,17% , the resulting file is 32-bit (-s -b 32). Performance is okay, 1 minute of music in 9 seconds. See How-to in the download for full instructions on demuxing and decoding the AC3 stream in 32bit floating point. http://sp-bausysteme.eu/ac3-speedchange.zip Maybe i make a full featured gui for this programm. Please tell me what you think about it. |
|
|
|
May 29 2009, 19:34
Post
#14
|
|
![]() Group: Super Moderator Posts: 3268 Joined: 26-July 02 From: princegeorge.ca Member No.: 2796 |
Are your preferences solely based on the specs (graphs) or was there also listening involved ? Like Ron Jones, there are very few resamplers that I can actually differentiate from unresampled. The FFT analyses at that site are well-done and let me select the best out of the ones that are indistinguishable from the original.
-------------------- (atrix|(fb2k->e-mu 0404 usb|audio 8 dj))->hd280|jvc ha-fx35-b
|
|
|
|
May 29 2009, 20:04
Post
#15
|
|
![]() Group: Developer Posts: 2986 Joined: 2-December 07 Member No.: 49183 |
|
|
|
|
Jun 9 2009, 12:51
Post
#16
|
|
|
Group: Members Posts: 166 Joined: 28-September 06 Member No.: 35705 |
Anyone know what resampler use LAME? I have tried to look into code, but was unsuccessful. IMHO it is called bandlimited interpolation (with Blackman window). thanks, found it here /lame/libmp3lame/util.c /* resampling via FIR filter, blackman window */ |
|
|
|
Mar 16 2012, 03:59
Post
#17
|
|
|
Group: Members Posts: 1315 Joined: 3-January 05 From: Argentina, Bs As Member No.: 18803 |
Pretty old topic but still.
Apparently there is another excelent resampler. FinalCD http://src.infinitewave.ca/ http://www.sonicillusions.co.uk/finalcd.htm I know that SSRC and Sox resamplers are already known as transparent resamplers but is FinalCD resampler any better in terms of absolute quality? Apparently it isn't that trivial http://www.hydrogenaudio.org/forums/index....st&p=600156 I will be glad to hear point of view from developers of such filters and so. This post has been edited by IgorC: Mar 16 2012, 04:01 |
|
|
|
Mar 16 2012, 04:54
Post
#18
|
|
![]() Group: Members Posts: 840 Joined: 7-October 01 Member No.: 235 |
All resamplers more or less fight with the same limitations and math so don´t expect a miracle.
Some claim "ringing" is a problem. This is most likely a non-issue and happens only above fs/2 but the steeper the filter the more of it you will have. My guess is that such a steep filter like the one of FinalCD also produces much clipping and needs care taken when resampling. At least when using sox the softer i choose the filter or even allow aliasing above the passband the less clipping i get. With sox you can realize nearly everything what you think is the right answer. Don´t let you impress with the clean noisefloor in the 1kHz picture at the SRC comparison. Most resamplers use already 180dB stopbands that is overkill even if you convert to 24bit leave alone 16bit. Good luck on abxing any of the resamplers that do their math right. Will be interesting if you can hear anything. I wasn´t able to abx garbage from aliasing above the passband. Even if you try the most steep attempts to preserve as much bandwith as possible there always is the DAC that may make this a moot point. My DAC for example spits out nothing from above ~20.600Hz playing back 44.1Khz material. The discussion of what is best goes a while now but no one proved anything in serious listening tests AFAIK, only some marketing writings and audiophile delirium talk. |
|
|
|
Mar 16 2012, 06:16
Post
#19
|
|
|
Group: Members Posts: 410 Joined: 9-August 07 From: Los Angeles Member No.: 46048 |
I tend to agree with Wombat. Even if you're looking to maintain quality during production by using the resampler which produces the best-looking output, you should generally be resampling only once to your final delivery format(s), so making sure you choose the 'best' resampler isn't really worth the effort (or potential cost). As stated, you'd have an exceptionally difficult time A/B'ing any of the resamplers which do it 'mostly right'.
That said, if you feel more confident in FinalCD based on the results of the tests, by all means use it for your projects. |
|
|
|
Mar 16 2012, 11:07
Post
#20
|
|
![]() Group: Members Posts: 477 Joined: 22-December 03 From: Malmö, Sweden Member No.: 10615 |
Any improvement or dis-improvement compared to Sox will likely be homepathic:
http://www.youtube.com/watch?v=tYFwT1LcBdI This post has been edited by markanini: Mar 16 2012, 11:08 |
|
|
|
Dec 9 2012, 18:05
Post
#21
|
|
|
Group: Members Posts: 3 Joined: 12-November 12 Member No.: 104466 |
Sorry for re-activating old topic, but this site seams like professional compareson of srcs.
http://src.infinitewave.ca/ Anything new in this matter? The most accurate sample rate converter (free or commercial)? unfortunately i can't see these screens. |
|
|
|
Dec 10 2012, 01:57
Post
#22
|
|
|
Group: Members Posts: 43 Joined: 27-November 11 Member No.: 95439 |
Sorry for re-activating old topic, but this site seams like professional compareson of srcs. http://src.infinitewave.ca/ And it is already mentioned in post #1, above. |
|
|
|
Dec 10 2012, 02:29
Post
#23
|
|
![]() Group: Members Posts: 469 Joined: 5-June 11 Member No.: 91257 |
Don't use resamplers often, but curious to know some things...
Let's say you want to downsample a 24-bit/96kHz file to 16-bit/44kHz, When using SoX plugin with foobar2000 to do the conversion, SoX plugin does not have any dither settings so you cannot also apply dither ...is this correct? When using SoX from the command line you can resample AND apply dither if you want ...is this correct? Considering that the thread topic is Best quality resampling method, what is the best way of applying dither using SoX (as plugin and as standalone)? I get asked questions like "SoX is a great resampler but I also want it to apply great dither, how?" all the time (because I happen to use foobar2000 a lot), but I can't give authoritative answers. This post has been edited by derty2: Dec 10 2012, 02:38 |
|
|
|
Dec 10 2012, 03:00
Post
#24
|
|
|
Group: Members Posts: 4136 Joined: 2-September 02 Member No.: 3264 |
Considering that the thread topic is Best quality resampling method, what is the best way of applying dither using SoX (as plugin and as standalone)? Changing the bits/sample isn't resampling I get asked questions like "SoX is a great resampler but I also want it to apply great dither, how?" all the time (because I happen to use foobar2000 a lot), but I can't give authoritative answers. Why not just use the (very good) built in foobar2000 dither? Any quality dither should give you transparent results if the output is at least 16 bit. |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 25th May 2013 - 17:03 |