Subject: Re: [ecasound] problems with 48000
From: Kai Vehmanen (email@example.com)
Date: Sat Sep 11 1999 - 14:11:12 EEST
On Fri, 10 Sep 1999, Jeremy Hall wrote:
> ecasound -i /dev/dsp -f:16,2,48000 -o /tmp/out.raw -f:16,2,48000
> produces static no matter what the buffers are set to. If another process
> reads the device and feeds a pipe, which then is fed into ecasound, the
> results are slightly better, but nowhere near anything usable.
There's static because your signal gets resampled twice. Resampling
was added in 1.5.2r5. Ecasound converts all input signals to
its internal sample format (specified in samplebuffer.h, currently
32bit-float, 2ch, 44100).
I'm still trying to figure out a good way to handle all this.
You can always change the default sample rate in samplebuffer.h
and recompile. I guess it would help, if you could specify the
internal sample rate on the command line.
And of course, resampling routines can be improved. In fact,
48000->44100 shouldn't introduce any noise. 44100->48000 might
introduce some, but it should be noticeable. I've used simple
linear-interpolation with anti-alias filtering. There're better
algorithms available, but they're too resource-hungry to be used
here as ecasound has to deal with multiple input and output
streams and usually in realtime.
-- Kai Vehmanen <firstname.lastname@example.org> -------- CS, University of Turku, Finland . http://www.wakkanet.fi/ecasound/ - linux audio processing . http://www.wakkanet.fi/sculpscape/ - ambient-idm-rock-... mp3/ra/wav
This archive was generated by hypermail 2a24 : Sat Sep 25 1999 - 19:41:11 EEST