<div dir="ltr">By the way, I have compiled the fixed-point version with fixed_debug.h, and the console is exploded with overflow warnings when running the AEC.<br><br><div class="gmail_quote">On Sat, Jan 8, 2011 at 10:52 PM, Omer Gilad <span dir="ltr"><<a href="mailto:omer.gilad@gmail.com">omer.gilad@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Jean-Marc, thanks for the response.<br>
First, I will clarify again that floating-point solves this - so isn't that a bug in fixed-point?<br>
Also, I understand that algorithmically the AEC won't cancel echo properly on a non-linear signal, but why completely distort the output?<br>
If the echo just won't get cancelled it would be acceptable, but in the current state it disables the ability to speak - with or without echo.<br>
<br>
Thanks,<br>
<font color="#888888">Omer<br>
</font><div><div></div><div class="h5"><br>
On Jan 8, 2011, at 7:26 PM, Jean-Marc Valin wrote:<br>
<br>
> Hi,<br>
><br>
> The Speex AEC is simply not designed to deal with non-linear echo, as is the case when clipping of AGCs are involved. Make sure all your path is linear or forget about the Speex AEC.<br>
><br>
> Jean-Marc<br>
><br>
> On 11-01-03 11:31 AM, Omer Gilad wrote:<br>
>> Hi,<br>
>> I couldn't find a discussion that specifically addresses this, so here<br>
>> it is.<br>
>><br>
>> I'm using Speex AEC in my mobile VoIP application to cancel speaker<br>
>> echo. The used version is 1.2rc1 from the website, and I'm compiling<br>
>> with fixed-point.<br>
>> On most occasions, the AEC works very well and cancels most of the echo<br>
>> (combined with the preprocessor).<br>
>> On some devices, where the microphone signal gets a bit distorted<br>
>> (because of sensitivity or some internal AGC pass), the AEC outputs<br>
>> distorted and unacceptable voice, while only augmenting the echo signal<br>
>> instead of cancelling it.<br>
>> I have tried a few things:<br>
>><br>
>> 1. Compile in floating point - solves it, but irrelevant to some devices<br>
>> which don't have an FPU and can't handle this. I actually use the FP<br>
>> version on devices that DO support it.<br>
>> 2. Check where it reproduces - on any device where the recording gets<br>
>> clipped every now and then, and also on devices that normalize their mic<br>
>> input.<br>
>><br>
>> I'm a bit desperate about this, and almost getting to the point of<br>
>> debugging the AEC itself - my guess is that it's a lot of integer overflows.<br>
>> I'm willing to send voice samples that reproduce the problem.<br>
>><br>
>> Did anyone experience that or has some insight?<br>
>><br>
>> Thanks ahead,<br>
>> Omer<br>
<br>
</div></div></blockquote></div><br></div>