[mako] pulseaudio resample methos missing src-sinc-*

Bug #1494155 reported by K1773R on 2015-09-10
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Undecided
Unassigned

Bug Description

I tried to change the pulse resampling on my mako to src-sinc-best-quality and medium, to no avail.

Later i found out that the pulse shipped with mako isnt capable of using these resampling methods.

$ pulseaudio --dump-resample-methods
trivial
speex-float-0
speex-float-1
speex-float-2
speex-float-3
speex-float-4
speex-float-5
speex-float-6
speex-float-7
speex-float-8
speex-float-9
speex-float-10
speex-fixed-0
speex-fixed-1
speex-fixed-2
speex-fixed-3
speex-fixed-4
speex-fixed-5
speex-fixed-6
speex-fixed-7
speex-fixed-8
speex-fixed-9
speex-fixed-10
ffmpeg
auto
copy
peaks

while on an other system (non ubuntu touch) i get the correct resampling methods:

$ pulseaudio --dump-resample-methods
src-sinc-best-quality
src-sinc-medium-quality
src-sinc-fastest
src-zero-order-hold
src-linear
trivial
speex-float-0
speex-float-1
speex-float-2
speex-float-3
speex-float-4
speex-float-5
speex-float-6
speex-float-7
speex-float-8
speex-float-9
speex-float-10
speex-fixed-0
speex-fixed-1
speex-fixed-2
speex-fixed-3
speex-fixed-4
speex-fixed-5
speex-fixed-6
speex-fixed-7
speex-fixed-8
speex-fixed-9
speex-fixed-10
ffmpeg
auto
copy
peaks

ubuntu touch version:
current build number: 23
device name: mako
channel: ubuntu-touch/stable/ubuntu
last update: 2015-08-27 10:42:51
version version: 23
version ubuntu: 20150825.1
version device: 20150819
version custom: 20150825.1

pulseaudio version:
pulseaudio:
  Installed: 1:6.0-0ubuntu9.2
  Candidate: 1:6.0-0ubuntu9.2
  Version table:
 *** 1:6.0-0ubuntu9.2 0
        100 /var/lib/dpkg/status

David Henningsson (diwic) wrote :

Hi,

Upstream has decided to phase out libsamplerate, as speex gives better "bang for the buck", i e better audio quality for the same CPU or same quality for less CPU.

Ubuntu Touch is apparently ahead of schedule - but expect the distro to stop supporting these in the future:

src-sinc-best-quality
src-sinc-medium-quality
src-sinc-fastest
src-zero-order-hold
src-linear

Changed in pulseaudio (Ubuntu):
status: New → Won't Fix
K1773R (k1773r) wrote :

If you want really high quality, you have to use libsamplerate whatsoever.
Why such a move by removing this?

There are cases where people dont care for "bang for the buck" but rather "highest quality". With the removal of libsamplerate quality drops significantly...

Is remove this a final decision?

David Henningsson (diwic) wrote :

According to Alexander Patrakov's evaluation, both speex-float-5 and speex-float-10 are same or better than libsamplerate's highest quality.

So far we've trusted his word on that. If you want to challenge that, I suggest you do so on the pulseaudio-discuss mailinglist.

For reference, here's a link to the first part of his evaluation, including some graphs: http://comments.gmane.org/gmane.comp.audio.pulseaudio.general/21051

K1773R (k1773r) wrote :

Thanks i'l take a look and make some tests too.

Tynach (tynach2) wrote :

Nowhere in either the parent post, nor in the comments, is 'bang for the buck' even talked about. The entire thing seems to be about choosing a higher quality default sampling method due to the availability of faster CPUs. In fact, libsamplerate is never mentioned by name, and src-sinc-.* are only mentioned by listing them with a few others and deeming them 'indistinguishable'.

HOWEVER, in the comments they *do* mention that upsampling causes more distortion than downsampling, and that sampling rates further apart cause more than sampling rates closer together. This isn't terribly important most of the time, except...

... Pulseaudio only supports configuring two sample rates at a time. So you have a default lower one, and if an audio source has a higher sample rate, it'll be upsampled to the alternative, higher sample rate.

So what if your alternative sample rate is much higher? I have a sound card that supports 192000, what if I'm curious what that sounds like? I have a fairly fast CPU (i7-4790K with hyperthreading disabled so that each core works as fast as possible), and I have that set up as my alternative sampling rate.

But the graphs only test conversion from 44100 to 48000. I have a feeling that the differences will be *much* more noticeable on a setup converting from 48000 to 192000.

But now I can't compare using src-sinc-.* because its been removed. And seemingly with no discussion or reason.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers