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: Best quality resampling method? (Read 45552 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Best quality resampling method?

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).

Best quality resampling method?

Reply #1
SSRC doesn't support arbitrary input/output samplerates. So I doubt you can do "4% slowdown/speedup" with it.

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.

Best quality resampling method?

Reply #2
OK, we can exclude different "versions", just count it as 4 options:

SSRC (HP) code (used in EAC3TO)

Secret Rabbit Code (used in ReClock)

SoX Resample code (also can be used in foobar2k)

r8brain pro propriety (also can be used in EAC3TO)

Best quality resampling method?

Reply #3
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.

Best quality resampling method?

Reply #4
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.


 


Best quality resampling method?

Reply #8
I tried to ABX SoX and libsamplerate... unsuccessfully. So for me, the faster = the better.


Best quality resampling method?

Reply #10
Anyone know what resampler use LAME? I have tried to look into code, but was unsuccessful.

Best quality resampling method?

Reply #11
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).

Best quality resampling method?

Reply #12
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: [Select]
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.




Best quality resampling method?

Reply #13
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.

Best quality resampling method?

Reply #14
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).


Best quality resampling method?

Reply #16
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.

Best quality resampling method?

Reply #17
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.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

Best quality resampling method?

Reply #18
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.


Best quality resampling method?

Reply #20
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.


Best quality resampling method?

Reply #22
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.

Best quality resampling method?

Reply #23
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.