AEC: Double-Talk Detection

1,003 views
Skip to first unread message

John McDermick

unread,
Sep 26, 2011, 3:44:04 PM9/26/11
to discuss-webrtc
Does the webRTC AEC have built-in double-talk detection ? Or is that
an extra layer around the webRTC AEC? Is there any double talk
detection algorithm anywhere in the webRTC code?

Henrik Andreasson

unread,
Sep 26, 2011, 4:05:16 PM9/26/11
to discuss...@googlegroups.com
Yes, double-talk detection is included? May I suggest that try out the AEC on your own. That will give you all the answers you need.

Serge Lachapelle

unread,
Sep 26, 2011, 4:17:33 PM9/26/11
to discuss...@googlegroups.com
... you can give it a try in Google+ Hangouts or Gmail video chat.

/S

John McDermick

unread,
Sep 27, 2011, 9:33:37 AM9/27/11
to discuss-webrtc
> Yes, double-talk detection is included? May I suggest that try out the AEC
> on your own. That will give you all the answers you need.


I browsed through the AEC code and I don't see any real double-talk
detection besides some gain control (gain suppression) ? Where should
I look?

Andrew MacDonald

unread,
Sep 28, 2011, 9:25:24 PM9/28/11
to discuss...@googlegroups.com

Just to set the record straight here, no, we don't have any explicit
double-talk detection. It's handled implicitly by limiting the
magnitude of the error used in adaptation.

Additionally, we disregard the filter output if its energy is higher
than the input, since this indicates the filter has likely diverged.

John McDermick

unread,
Sep 30, 2011, 1:52:40 PM9/30/11
to discuss-webrtc
> Just to set the record straight here, no, we don't have any explicit
> double-talk detection. It's handled implicitly by limiting the
> magnitude of the error used in adaptation.
>
> Additionally, we disregard the filter output if its energy is higher
> than the input, since this indicates the filter has likely diverged.

Yes, please set the record straight because the answers I am getting
here
doesn't match up with the code.

How did you arrive at the 48ms/96ms tail-length for the AEC? The
number of taps
is 65 for the Wiener filter as far as I can tell...

That translates into 65/8 milliseconds = 8ms

Or should I be looking at something else?

Niklas Enbom

unread,
Oct 3, 2011, 8:18:10 AM10/3/11
to discuss...@googlegroups.com
John, just a general comment. As stated several times before we don't provide design and algorithm documentation of each component in WebRTC. Similarly you can't expect to get questions related to component design answered. The code is out there and there's no secrets in it, but we want to keep the focus of the discussions on the top level API and on problems in the implementation.

Niklas
Reply all
Reply to author
Forward
0 new messages