From f9f53316f5cc27df02afe9e00a67691af86b95b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Per=20=C3=85hgren?= Date: Sun, 4 Oct 2020 00:39:49 +0200 Subject: [PATCH] Reland "Reduce the amount of howling reduction in AEC3" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a reland of 2978abb88c49362e296bdce3cb662f6255b17083 Original change's description: > Reduce the amount of howling reduction in AEC3 > > This CL backs off the howling protection functionality in AEC3. > The effect is increased transparency in some cases. No negative effects > have been identified in the hands-on testing. > > > A kill-switch is added that can be used to turn off the functionality. > > Bug: b/150764764 > Change-Id: I604c569c76f911799556a60bc8fd2fb43bbfe196 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186082 > Reviewed-by: Gustaf Ullberg > Commit-Queue: Per Åhgren > Cr-Commit-Position: refs/heads/master@{#32258} Bug: b/150764764,chromium:1134939 Change-Id: I5eea60b35e6d09003ec2fee3865513df8bdd5823 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/186260 Commit-Queue: Per Åhgren Reviewed-by: Gustaf Ullberg Reviewed-by: Mirko Bonadei Cr-Commit-Position: refs/heads/master@{#32304} --- api/audio/echo_canceller3_config.h | 4 ++-- modules/audio_processing/aec3/echo_canceller3.cc | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/api/audio/echo_canceller3_config.h b/api/audio/echo_canceller3_config.h index 7f416c1639..af57d048a1 100644 --- a/api/audio/echo_canceller3_config.h +++ b/api/audio/echo_canceller3_config.h @@ -216,8 +216,8 @@ struct RTC_EXPORT EchoCanceller3Config { struct HighBandsSuppression { float enr_threshold = 1.f; float max_gain_during_echo = 1.f; - float anti_howling_activation_threshold = 25.f; - float anti_howling_gain = 0.01f; + float anti_howling_activation_threshold = 400.f; + float anti_howling_gain = 1.f; } high_bands_suppression; float floor_first_increase = 0.00001f; diff --git a/modules/audio_processing/aec3/echo_canceller3.cc b/modules/audio_processing/aec3/echo_canceller3.cc index a3f14f1380..d2847df126 100644 --- a/modules/audio_processing/aec3/echo_canceller3.cc +++ b/modules/audio_processing/aec3/echo_canceller3.cc @@ -213,6 +213,12 @@ void CopyBufferIntoFrame(const AudioBuffer& buffer, EchoCanceller3Config AdjustConfig(const EchoCanceller3Config& config) { EchoCanceller3Config adjusted_cfg = config; + if (field_trial::IsEnabled("WebRTC-Aec3AntiHowlingMinimizationKillSwitch")) { + adjusted_cfg.suppressor.high_bands_suppression + .anti_howling_activation_threshold = 25.f; + adjusted_cfg.suppressor.high_bands_suppression.anti_howling_gain = 0.01f; + } + if (field_trial::IsEnabled("WebRTC-Aec3UseShortConfigChangeDuration")) { adjusted_cfg.filter.config_change_duration_blocks = 10; }