[Speex-dev] AEC - Echo is cancelled however.....

Marco Pierleoni pierleoni.m at gmail.com
Tue May 11 05:25:02 PDT 2010

I usually use the cross-correlation between the speaker signal and the
mic signal.
It works pretty well. The problem is the you need enough data in order
to get a good S/N.
I compute the cross-correlation between 1.5 second data of each
signals. In this way the application detection of any anomalies is
quite slow.
I am looking for something faster, but I fear it will be something
very application dependent.


2010/5/11 Elston Sa <jose at rebaca.com>:
> Marco,
> Thank you for your response.
> Is there a way I can determine if the synchronization is perfect or not? If
> not by how much it is off.
> - Elston
> -----Original Message-----
> From: Marco Pierleoni [mailto:pierleoni.m at gmail.com]
> Sent: Monday, May 10, 2010 3:46 PM
> To: Elston Sa
> Subject: Re: [Speex-dev] AEC - Echo is cancelled however.....
> Hi Helton,
> it is now several months that I am using the AEC speex. I experienced
> very good performance and I agree that the synchronization is the most
> important issue here. As a matter of fact I believe that your problem
> could derive from a not perfect synchronization.
> It seems that that filter, used in the AEC, is always adapting. When
> you have not a perfect synchronization, the adapting filter allows to
> cancel most of your echo, while the participant is talking. Once he
> stops to talk, the filter cannot adapt in the right way until he
> begins to talk again.
> I think that this is the cause of the small return of echo.
> I don't know the details of your application, but in my case I wanted
> to play audio packets incoming from the network, and I had similar
> problems until I put a jitterBuffer between the network and the audio
> device. This solution allows me to have a better scheduling of the
> packets sent to the audio device improving the synchronization.
> You should also consider that the sound card have an own internal
> buffer which can introduce some anomalies in the audio playing, like a
> small pause or an audio cut. Most of these anomalies are very
> difficult to be heard but they are important for the synchronization
> I hope that this could help.
> Marco
> 2010/5/10 Elston Sa <jose at rebaca.com>:
>> Yes. I guessed that too, however I am not sure why it keeps repeating
> every
>> time the user stops / pauses and starts speaking again in a single
> session.
>> I am using a laptop with standalone speakers. For echo cancellation to
> work
>> one has to make sure that the ref and echo buffers are synchronized. I
> guess
>> this is the most common problem.
>> -Elston
>> -----Original Message-----
>> From: Anton A. Shpakovsky [mailto:saa at tomsksoft.com]
>> Sent: Monday, May 10, 2010 2:43 PM
>> To: Elston Sa; speex-dev at xiph.org
>> Subject: RE: [Speex-dev] AEC - Echo is cancelled however.....
>> Well, AFAIK AEC engine needs time to adapt. So probably that's why at
>> the beginning of the conversation
>> you hear the consequences of this adaptation. Btw, what sound system do
>> you have? I mean laptop or arbitrary
>> acoustic system? I'd like to know, cause I couldn't get enough echo
>> cancellation with speex in my environment with
>> standalone speakers AT ALL.
>> -----Original Message-----
>> From: speex-dev-bounces at xiph.org [mailto:speex-dev-bounces at xiph.org] On
>> Behalf Of Elston Sa
>> Sent: Monday, May 10, 2010 3:41 PM
>> To: speex-dev at xiph.org
>> Subject: [Speex-dev] AEC - Echo is cancelled however.....
>> 1) Everytime a participant speaks there is a echo for a short duration
>> (maybe a word or two) but as the participant continues to speak without
>> a
>> any break the echo is 95% cancelled (i.e there is a feeble echo still
>> present if observed very carefully).
>> 2) The moment the participant stops / pauses speaking and start talking
>> again, scenario 1 is repeated as if the echo state has been
>> re-initialized
>> or reset.
>> Please note that I observe this in a single audio session and not after
>> restarting the application. I confirm that I am not re-initializing the
>> echo
>> state after the session starts.
>> Is this normal? Is there any way I can keep the echo state to what it
>> was
>> when the participant not speaking.
>> Also, any pointers on why I get a feeble echo back would be greatly
>> appreciated.
>> Thanks,
>> Elston
>> _______________________________________________
>> Speex-dev mailing list
>> Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev
>> _______________________________________________
>> Speex-dev mailing list
>> Speex-dev at xiph.org
>> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list