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

Rene Herman rene.herman at gmail.com
Thu Mar 22 22:19:47 CET 2007


On 03/21/2007 05:38 PM, Rene Herman wrote:

> On 03/21/2007 04:34 PM, Jean-Marc Valin wrote:

>> It's worse than you think :-) Try playing an 8 kHz file to a 
>> soundcard that only does 44.1/48. It's just horrible.
> 
> Trouble is that I don't have a soundcard that can only do 44.1/48. 
> I'll go hack up a driver to pretend I do though and try. Have a nice 
> 8 kHz file I can try with? :)

I grabbed http://www.speex.org/samples/audio/male.wav and tried using a 
Crystal CS4236 based card (hw:1). With an ~/.asoundrc containing:

	pcm.up1 {
         	type plug
	        slave {
         	        pcm "hw:1,0"
                 	rate 44100
	        }
	}

the difference between

	aplay -D hw:1 male.wav

and

	aplay -D up1 male.wav,

Is indeed very significant.

When I tried with hw:0, an "ESS Canyon3D" (ES1970MS-3D) based card, I 
was in for a bit of a suprise though. Have never been aware of it, but 
it seems this card upsamples internally anyway. Both hw:0 and up0 (same 
as above) sounded almost if not completely the same. I never really play 
anyting other than 44100 or 48000 to the card but it's not nice. It's a 
(once) expensive "TerraTec DMX"...

Resampling upfront with:

	sox male.wav -r 48000 male_sox.wav resample -q

sounds somewhat like male.wav on hw:1 again (for some reason, it won't 
do 44100).

Anyways, yes, a very significant difference...

Rene.



More information about the Alsa-devel mailing list