[Speex-dev] Server Side AEC

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Sun Jul 22 15:26:39 PDT 2007


Tabitha Flash a écrit :
> The client is the adobe flash player. No install and on 98% of all 
> desktops but we can't change it.
> 
> It works ok if people use headphones but we need to stop the howl 
> than can build up if more than one person in a conference has mic to 
> close to speakers.

Well, you'll have to somehow put the AEC in the client cuz there's no
way an echo canceller is going to work through a codec like that.
Otherwise, the best you could do is half-duplex (like in cheap
hands-free phones).

	Jean-Marc

> Any ideas?
> 
> 
> Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote:
>> 1) Is it ok if the audio is encoded (using Nelly Moser ASAO) and 
>> sent to the client and decoded when it is recevied so the AEC is 
>> always performed on raw PCM16 8KHZ ?
> 
> No. The entire path from AEC to loudspeaker and from mic back to AEC
>  must be free of any non-linearity, codec, drift, ...
> 
>> 2) The audio is moved in 32ms (512 byte) chunks and the reading and
>>  writing to the AEC code will be done by separate threads at 
>> regular 32 ms intervals.
> 
> You're free to do the processing/blocking as you like.
> 
>> 3) Occasionaly audio is dropped if it has become delayed but a 
>> jitter buffer of 120ms is in use.
> 
> That'll cause problems.
> 
>> People at different distances from the server will have a slightly
>>  different round trip time. Do you think if using a large tail or 
>> something we can get near perfect AEC? The same as you get with a 
>> hands free phone perhaps?
> 
> No. You may have good results if you compensate for the delay, 
> though.
> 
>> Does it still sound like worth a try? Is Speex AEC as good as it 
>> gets or would it be worth contacting some vendors of such software?
>> 
>> 
> 
>> From what you write above, no AEC can work at all. Why not just 
>> move it
> directly to the client instead?
> 
> Jean-Marc
> 
>> Thanks again, Tabby
>> 
>> 
>> Jean-Marc Valin wrote: Tabitha Flash a écrit :
>>> Hi, I am looking for AEC software which can be run on the server 
>>> side. This means there will be a fairly constant 600ms or so gap 
>>> between sending out an audio frame and getting it back with echo.
>>> Could Speex AEC be configured to handle these conditions?
>> Just use a ring buffer to put the delay back to normal.
>> 
>>> If so, how good can I expect it to be?
>> You'll need to try, but to have any chance of working, the 
>> following conditions must be met: 1) No codec must be used in the 
>> echo path (maybe G.711 is OK) 2) There must not be any drift in the
>>  sampling clocks 3) There must not be any audio samples lost on the
>>  echo path
>> 
>> Jean-Marc
>> 
>> 
>> 
>> --------------------------------- Yahoo! Mail is the world's 
>> favourite email. Don't settle for less, sign up for your 
>> freeaccount today.
> 
> 
> 
> --------------------------------- Yahoo! Answers - Get better answers
>  from someone who knows. Tryit now.


More information about the Speex-dev mailing list