[Speex-dev] Distorted output in fixed-point AEC

Omer Gilad omer.gilad at gmail.com
Mon Jan 3 08:31:09 PST 2011


Hi,
I couldn't find a discussion that specifically addresses this, so here it
is.

I'm using Speex AEC in my mobile VoIP application to cancel speaker echo.
The used version is 1.2rc1 from the website, and I'm compiling with
fixed-point.
On most occasions, the AEC works very well and cancels most of the echo
(combined with the preprocessor).
On some devices, where the microphone signal gets a bit distorted (because
of sensitivity or some internal AGC pass), the AEC outputs distorted and
unacceptable voice, while only augmenting the echo signal instead of
cancelling it.
I have tried a few things:

1. Compile in floating point - solves it, but irrelevant to some devices
which don't have an FPU and can't handle this. I actually use the FP version
on devices that DO support it.
2. Check where it reproduces - on any device where the recording gets
clipped every now and then, and also on devices that normalize their mic
input.

I'm a bit desperate about this, and almost getting to the point of debugging
the AEC itself - my guess is that it's a lot of integer overflows.
I'm willing to send voice samples that reproduce the problem.

Did anyone experience that or has some insight?

Thanks ahead,
Omer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20110103/9d689e1a/attachment.htm 


More information about the Speex-dev mailing list