Separated the NLP behavior in AEC3 for different echo estimates.

This CL separates the NLP gain computation for the different variants
of echo estimation. This simplifies the setting of tuning 
parameters, with resulting transparency improvements and increased
echo removal performance.

Bug: webrtc:8359
Change-Id: I9b97064396fb6f6e2f418ce534573f68694390a1
Reviewed-on: https://webrtc-review.googlesource.com/7613
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20209}
This commit is contained in:
Per Åhgren
2017-10-09 13:01:39 +02:00
committed by Commit Bot
parent 920b653c31
commit c65ce78027
9 changed files with 56 additions and 32 deletions

View File

@ -296,6 +296,7 @@ class AudioProcessing : public rtc::RefCountInterface {
float m4 = 0.3f;
float m5 = 0.3f;
float m6 = 0.0001f;
float m7 = 0.01f;
} gain_mask;
struct EchoAudibility {
@ -322,6 +323,7 @@ class AudioProcessing : public rtc::RefCountInterface {
GainChanges low_noise = {8.f, 10.f, 2.f, 4.f, 4.f, 4.f};
GainChanges normal = {4.f, 10.f, 1.5f, 4.f, 2.f, 4.f};
GainChanges saturation = {1.2f, 1.2f, 1.5f, 1.5f, 1.f, 1.f};
GainChanges nonlinear = {1.5f, 1.5f, 1.2f, 1.2f, 1.1f, 1.1f};
float floor_first_increase = 0.001f;
} gain_updates;