[pulseaudio-discuss] [PATCH 0/3] resamplers

Alexander E. Patrakov patrakov at gmail.com
Sun Sep 7 03:32:08 PDT 2014


[sent only to Tanu by mistake, resending to the list]

07.09.2014 15:48, Tanu Kaskinen wrote:
> On Sun, 2014-08-24 at 13:35 +0600, Alexander E. Patrakov wrote:
>> 04.08.2014 19:29, I wrote:
>>> Anyway, I think that the task of objectively testing the resampler
>>> speed and quality also needs to be done, in order to provide such
>>> justifications. Please see
>>> http://lists.freedesktop.org/archives/pulseaudio-discuss/2014-February/019968.html
>>> for the formulation.
>>
>> Now I have the tools for the basic form of quality evaluation (using a
>> linear sine sweep). The tools can compare quality of various resamplers,
>> including those found in proprietary operating systems. However, the end
>> result is still not good enough to answer the question "is this
>> resampler good enough". The (useless) answer is almost always the same:
>> "no, here is a sine wave frequency that it either attenuates audibly or
>> distorts audibly", even though nobody listens to e.g 18 kHz sine waves.
>>
>> I will test the two new resamplers among the others today.
>
> Do we have some kind of a conclusion about whether the soxr and
> libavresample resamplers should be merged? If I understood correctly,
> the libavresample resampler appears to be somehow broken, so I guess
> that should not be merged until the brokenness is fixed.

Correct.

> Did the soxr
> resampler end up being the best one in any of the following categories?
>
> 1) Best quality

The problem with this question is that there are perfect resamplers in 
terms of perceived quality. It has no meaning to compare e.g. 
speex-float-5 and speex-float-10 in terms of quality. Both are just 
perfect when given a task of resampling from 44.1 to 48 kHz.

At MQ or HQ quality, soxr is perfect, too.

> 2) Fastest

Definitely not, at least at quality levels above QQ. And at QQ, I have 
not tested, and at that level it is just a cubic interpolator. I think 
we don't need a complex library just for cubic interpolation.

> 3) Fastest without any audible distortions

Definitely not, by a factor of 10 (over speex).

> 4) Best compromise between speed and quality

Definitely not.

> X) Some of the above when applying licensing constraints

Definitely not. The winner on all points is speex. At the quality level 
of 5, it never creates audible distortions. And at any quality higher 
than 2, it eats less CPU than any comparable (in terms of quality) 
competitors.

At this point, I also suggest removing libsamplerate-based resampler.

-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list