Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Issue 2419563003: Add algorithm for Residual Echo Detector. (Closed)

Created:
4 years, 2 months ago by ivoc
Modified:
4 years, 1 month ago
CC:
webrtc-reviews_webrtc.org, peah-webrtc, Andrew MacDonald, tterriberry_mozilla.com, audio-team_agora.io, hlundin-webrtc, kwiberg-webrtc, minyue-webrtc, the sun, aluebs-webrtc, bjornv1
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Add algorithm for Residual Echo Detector. This algorithm calculates an estimate of the Pearson product-moment correlation coefficient between the power of 10ms audio buffers taken from the render and capture sides, for various different delay values. BUG=webrtc:6525 Committed: https://crrev.com/af27ed01d73eef0622869ecf9f0b6dbf8b80bd14 Cr-Commit-Position: refs/heads/master@{#14824}

Patch Set 1 #

Total comments: 113

Patch Set 2 : Review comments. #

Patch Set 3 : Added unittests and some small changes. #

Total comments: 41

Patch Set 4 : Addressed Henrik's comments. #

Total comments: 6

Patch Set 5 : More comments from Henrik. #

Total comments: 13

Patch Set 6 : Added better handling of clock drift on render side. #

Total comments: 29

Patch Set 7 : Per's comments. #

Total comments: 14

Patch Set 8 : More comments by Per. #

Total comments: 14

Patch Set 9 : Added comments. #

Total comments: 1

Patch Set 10 : Merged residual_echo_detector and echo_detector. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+671 lines, -14 lines) Patch
M webrtc/modules/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/BUILD.gn View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/audio_processing.gypi View 1 2 3 4 5 6 7 8 9 1 chunk +6 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/circular_buffer.h View 1 2 3 4 5 6 7 8 9 1 chunk +42 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/circular_buffer.cc View 1 2 3 4 5 6 7 8 9 1 chunk +49 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/circular_buffer_unittest.cc View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/mean_variance_estimator.h View 1 2 3 4 5 6 1 chunk +33 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/mean_variance_estimator.cc View 1 2 3 4 5 6 1 chunk +45 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/mean_variance_estimator_unittest.cc View 1 2 3 4 5 6 1 chunk +64 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/normalized_covariance_estimator.h View 1 2 3 4 5 6 1 chunk +42 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/normalized_covariance_estimator.cc View 1 2 3 4 5 6 1 chunk +37 lines, -0 lines 0 comments Download
A webrtc/modules/audio_processing/echo_detector/normalized_covariance_estimator_unittest.cc View 1 2 3 4 5 6 1 chunk +40 lines, -0 lines 0 comments Download
M webrtc/modules/audio_processing/residual_echo_detector.h View 1 2 3 4 5 6 7 8 9 3 chunks +34 lines, -3 lines 0 comments Download
M webrtc/modules/audio_processing/residual_echo_detector.cc View 1 2 3 4 5 6 7 8 9 2 chunks +93 lines, -11 lines 0 comments Download
A webrtc/modules/audio_processing/residual_echo_detector_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +124 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 33 (6 generated)
ivoc
Hi guys, this is the follow-up CL that adds the actual algorithm for the residual ...
4 years, 2 months ago (2016-10-13 15:55:40 UTC) #3
hlundin-webrtc
Where are the unit tests? See comments inline too. https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode12 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:12: ...
4 years, 2 months ago (2016-10-14 08:00:40 UTC) #4
peah-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { Capital P ...
4 years, 2 months ago (2016-10-14 08:18:59 UTC) #5
kwiberg-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { On 2016/10/14 ...
4 years, 2 months ago (2016-10-14 08:58:54 UTC) #6
hlundin-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { On 2016/10/14 ...
4 years, 2 months ago (2016-10-14 09:15:29 UTC) #7
peah-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { On 2016/10/14 ...
4 years, 2 months ago (2016-10-14 13:39:40 UTC) #8
kwiberg-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { On 2016/10/14 ...
4 years, 2 months ago (2016-10-14 20:33:33 UTC) #9
hlundin-webrtc
https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { On 2016/10/14 ...
4 years, 2 months ago (2016-10-14 21:15:46 UTC) #10
ivoc
Thanks for all the comments! I tried to address all the feedback and added unittests. ...
4 years, 2 months ago (2016-10-17 16:05:09 UTC) #11
hlundin-webrtc
Much improved! https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/1/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode18 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:18: float power(const float* farend, size_t nr_samples) { ...
4 years, 2 months ago (2016-10-17 18:49:43 UTC) #12
ivoc
I addressed the comments and added two new tests that do actually test the EchoDetector, ...
4 years, 2 months ago (2016-10-18 15:20:20 UTC) #13
hlundin-webrtc
Only a few minor comments left. After that, lgtm. Well done! https://codereview.webrtc.org/2419563003/diff/40001/webrtc/modules/audio_processing/echo_detector/echo_detector.h File webrtc/modules/audio_processing/echo_detector/echo_detector.h (right): ...
4 years, 2 months ago (2016-10-18 20:52:22 UTC) #14
ivoc
Based on discussions with Per earlier today I improved the handling of clock drift on ...
4 years, 2 months ago (2016-10-19 14:12:04 UTC) #15
peah-webrtc
https://codereview.webrtc.org/2419563003/diff/80001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc File webrtc/modules/audio_processing/echo_detector/circular_buffer.cc (right): https://codereview.webrtc.org/2419563003/diff/80001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc#newcode20 webrtc/modules/audio_processing/echo_detector/circular_buffer.cc:20: CircularBuffer::CircularBuffer(CircularBuffer&& other) = default; I don't think you need ...
4 years, 2 months ago (2016-10-19 14:45:26 UTC) #16
ivoc
I removed the shiny new class again because Per provided a better suggestion :-) PTAL. ...
4 years, 2 months ago (2016-10-20 14:04:36 UTC) #17
peah-webrtc
https://codereview.webrtc.org/2419563003/diff/80001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc File webrtc/modules/audio_processing/echo_detector/circular_buffer.cc (right): https://codereview.webrtc.org/2419563003/diff/80001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc#newcode23 webrtc/modules/audio_processing/echo_detector/circular_buffer.cc:23: void CircularBuffer::Push(float value) { On 2016/10/20 14:04:35, ivoc wrote: ...
4 years, 2 months ago (2016-10-20 15:08:24 UTC) #18
ivoc
https://codereview.chromium.org/2419563003/diff/100001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.chromium.org/2419563003/diff/100001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode57 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:57: LOG(LS_ERROR) << "Clockdrift detected in residual echo detector. Ignoring ...
4 years, 2 months ago (2016-10-21 12:21:15 UTC) #19
ivoc
https://codereview.chromium.org/2419563003/diff/100001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.chromium.org/2419563003/diff/100001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode57 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:57: LOG(LS_ERROR) << "Clockdrift detected in residual echo detector. Ignoring ...
4 years, 2 months ago (2016-10-21 15:42:08 UTC) #20
hlundin-webrtc
Looks good. A few questions only. https://codereview.chromium.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.chromium.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode47 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:47: frames_since_zero_buffer_size_ = 0; ...
4 years, 2 months ago (2016-10-24 00:42:14 UTC) #21
ivoc
https://codereview.chromium.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.chromium.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode47 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:47: frames_since_zero_buffer_size_ = 0; On 2016/10/24 00:42:14, hlundin-webrtc wrote: > ...
4 years, 1 month ago (2016-10-24 15:25:19 UTC) #22
hlundin-webrtc
LGTM. https://codereview.webrtc.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode47 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:47: frames_since_zero_buffer_size_ = 0; On 2016/10/24 15:25:19, ivoc wrote: ...
4 years, 1 month ago (2016-10-27 13:05:48 UTC) #23
ivoc
https://codereview.webrtc.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc File webrtc/modules/audio_processing/echo_detector/echo_detector.cc (right): https://codereview.webrtc.org/2419563003/diff/140001/webrtc/modules/audio_processing/echo_detector/echo_detector.cc#newcode47 webrtc/modules/audio_processing/echo_detector/echo_detector.cc:47: frames_since_zero_buffer_size_ = 0; On 2016/10/27 13:05:48, hlundin-webrtc wrote: > ...
4 years, 1 month ago (2016-10-27 13:55:29 UTC) #24
peah-webrtc
lgtm with one suggestion https://codereview.webrtc.org/2419563003/diff/160001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc File webrtc/modules/audio_processing/echo_detector/circular_buffer.cc (right): https://codereview.webrtc.org/2419563003/diff/160001/webrtc/modules/audio_processing/echo_detector/circular_buffer.cc#newcode28 webrtc/modules/audio_processing/echo_detector/circular_buffer.cc:28: RTC_DCHECK_LE(buffer_size_, buffer_.size()); It is quite ...
4 years, 1 month ago (2016-10-27 14:27:09 UTC) #25
peah-webrtc
Awesome work!!! lgtm with one suggestion
4 years, 1 month ago (2016-10-27 14:27:24 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2419563003/180001
4 years, 1 month ago (2016-10-28 13:35:15 UTC) #29
commit-bot: I haz the power
Committed patchset #10 (id:180001)
4 years, 1 month ago (2016-10-28 14:04:07 UTC) #31
commit-bot: I haz the power
4 years, 1 month ago (2016-10-28 14:04:17 UTC) #33
Message was sent while issue was closed.
Patchset 10 (id:??) landed as
https://crrev.com/af27ed01d73eef0622869ecf9f0b6dbf8b80bd14
Cr-Commit-Position: refs/heads/master@{#14824}

Powered by Google App Engine
This is Rietveld 408576698