[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