[Speex-dev] speex-1.2beta1 AEC garbles up audio unless compiled
with --enable-fixed-point
Andras Kadinger
bandit at surfnonstop.com
Tue Oct 3 11:42:03 PDT 2006
Greetings everyone,
I was about to compare AEC performance between 1.1.12 and 1.2beta1 when
I noticed something.
If I configure (and compile) speex-1.1.12 with
./configure --enable-shared=no --enable-static=yes
it compiles and works as expected: I can run a mic and speaker signal
through testecho, it runs in a reasonable amount of time (about 23 secs
for 3 minutes of audio) and I get back good audio.
If I configure (and compile) speex-1.2beta1 with
./configure --enable-shared=no --enable-static=yes
it compiles, but with the same input files testecho runs very long (say
about 21-24 minutes, probably data-dependent), and the output audio is
garbled up.
It does the same with --enable-sse.
But with --enable-fixed-point, AEC returns to normal.
This is happening on a Gentoo stable (1.12.4) system, gcc 4.1.1, glibc
2.4, processor is "Intel(R) Pentium(R) 4 CPU 3.00GHz" (with
HyperThreading disabled).
My data is real-world audio captured from a physical speaker and mic
setup in a room, by the left and right channels of the same soundcard
input, and is sampled at 32 kHz. 1.2beta1 AEC without
--enable-fixed-point garbles the audio up whether I claim it is sampled
at 8 kHz or 32 kHz in testecho.c, it just does so differently. I can't
hear anything of my original audio, instead I hear a very loud
(full-scale), regularly repeating noise. When I look at the waveform, it
looks a bit like 1/x for x>0, where overflowed samples values are not
clipped but wrapped back down; that is, the first few dozen samples are
wildly swinging between -32768 and 32767, later slow down but still
full-scale, even later the sample values asymptotically approach zero
from above; then suddenly the cycle begins again. (I can provide samples
of input and output on request.)
Is anyone else seeing anything like this?
Thanks in advance.
Best Regards,
Andras Kadinger
More information about the Speex-dev
mailing list