[alsa-devel] [Alsa-devel] Quality resampling code for libasound

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Fri Mar 23 10:36:52 CET 2007

> I guess this should work. This would be "import the speex version
> unchanged" only with s/alsa-lib/alsa-plugins/. It would depend on how
> many distributions would have no issue with making alsa-lib dependent on
> alsa-plugins.
> Keeping it in alsa-plugins would as far as I've understood have two
> reasons:
> a) if it were to be put into alsa-lib directly, you'd want (style)
> changes that would have to be kept in place over possible frequent
> updates, and

OK, first question here. Is any alsa developer even qualified *and*
interested in maintaining that code? I feel like this thread is taking
up more time that any maintenance that would be done within alsa and
time lost to indentation and whatnot.

> b) some fear and doubt with respect to licenses?

What's the license FUD about now?

> As to b), if alsa-lib is dependent on alsa-plugins in distributions,
> this might mean all the same license questions arise at least for them.
> Given that Jean-Marc himself is advocating just pulling it into alsa-lib
> directly, I assume something could be worked out that would quiet any
> worries instead?

OK, so I never quite understood why you don't want BSD-licensed code in
alsa, but I've already said I'm willing to allow relicensing to LGPL as
long as it doesn't mean too much pollution in my source files. Note BTW
that if you want to link with libspeex directly then you'll need to live
with the BSD license because there are some parts of Speex that cannot
be dual-licensed because I don't own the copyright.

> Not really any coments on a). How many updates can be expected? I saw
> Jean-Marc say things about SSE optimizations, but optimizations aren't
> vital...

There's still quite a bit to do, even though ALSA probably doesn't care
about it. SSE is one, but there's also finishing the fixed-point (which
still requires float in the initialisations), and possibly improving the
quality of the fixed-point code.

> I did try the effect of upsampling 8000 to 44100 using the current ALSA
> resampler today and that made for a quite significantly different
> sounding file. If you spend your time on getting the sound quality of a
> low bandwidth codec such as speex better, I can see why you'd not be too
> thrilled with then having the final step in the chain undo much of your
> efforts again ;-\

Exactly. Plus, consider that 8 kHz is used widely in VoIP and that new
machines now ship mostly with HDA-based codecs that only do 44.1 kHz and
48 kHz. That's why I'm really worried. I consider the current behaviour
to be a bug, because the driver is essentially corrupting the audio
signal that it receives.


More information about the Alsa-devel mailing list