[pulseaudio-discuss] Fwd: Pulse Audio Sample Cache & resampling

Erik de Castro Lopo mle+la at mega-nerd.com
Wed Feb 14 02:48:40 PST 2007


Jean-Marc Valin wrote:

> Just to clear things up a bit. My resampler is not yet fully implemented
> in fixed-point, only the inner loop is so far (though the rest is
> planned). Although I recently made quite a few changes to the API, it
> should be stabilising now (but I can't promise yet). Based on (very)
> quick testing I did recently, my resampler should be a bit faster than
> libsamplerate and have comparable (probably slightly lower for now)
> quality at equal filter length.

I've done some testing and for resampling 8 seconds of float data
from 96kHz to 44.1kHz I measured the following times:

   Speex resampler  : 0m2.644s
   SRC fastest Sinc : 0m0.562s
   SRC medium Sinc  : 0m1.124s
   SRC best Sinc    : 0m3.773s

For SRC I used sndfile-resample which is distributed with the SRC source
code. To test speex, I replaced calls to SRC in sndfile-resample.c with
calls to the speex resampler.

The speex resampler also doesn't match SRC fastest in terms of quality.
I've got some preliminary spectrograms here:

    http://www.mega-nerd.com/tmp/SRC_best_sinc.png
    http://www.mega-nerd.com/tmp/SRC_medium_sinc.png
    http://www.mega-nerd.com/tmp/SRC_fastest_sinc.png
    http://www.mega-nerd.com/tmp/speex_resampled.png

An explanation of how these plots are generated is here:

    http://www.mega-nerd.com/erikd/Blog/CodeHacking/SecretRabbitCode/index.html

I'm still in the process of readying the software that generates these
plots for release.

BTW, the code current in SVN segfaults for me. I'm still using
revision 12455.

Cheers,
Erik
-- 
+-----------------------------------------------------------+
  Erik de Castro Lopo
+-----------------------------------------------------------+
"Christianity has a nasty habit of ignoring the major problems of
our time, including overpopulation and exhaustion of resources, 
because  they aren't mentioned in the Bible."
-- Paula L. Craig



More information about the pulseaudio-discuss mailing list