Reland "Reduce the amount of howling reduction in AEC3" 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 <gustaf@webrtc.org> > Commit-Queue: Per Åhgren <peah@webrtc.org> > 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 <peah@webrtc.org> Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32304}
diff --git a/api/audio/echo_canceller3_config.h b/api/audio/echo_canceller3_config.h index 7f416c1..af57d04 100644 --- a/api/audio/echo_canceller3_config.h +++ b/api/audio/echo_canceller3_config.h
@@ -216,8 +216,8 @@ 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 a3f14f1..d2847df 100644 --- a/modules/audio_processing/aec3/echo_canceller3.cc +++ b/modules/audio_processing/aec3/echo_canceller3.cc
@@ -213,6 +213,12 @@ 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; }