Index: webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
diff --git a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
index 33de5c1f954a99d0753d1f825b2e2cc91b72b961..ae7f9119213d91e104e692b47af175eed1854f0b 100644 |
--- a/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
+++ b/webrtc/modules/audio_processing/intelligibility/intelligibility_enhancer.cc |
@@ -109,8 +109,12 @@ IntelligibilityEnhancer::IntelligibilityEnhancer(int sample_rate_hz, |
} |
void IntelligibilityEnhancer::SetCaptureNoiseEstimate( |
- std::vector<float> noise) { |
+ std::vector<float> noise, int gain_db) { |
RTC_DCHECK_EQ(noise.size(), num_noise_bins_); |
+ const float gain = std::pow(10.f, gain_db / 20.f); |
+ for (auto& bin : noise) { |
+ bin *= gain; |
+ } |
// Disregarding return value since buffer overflow is acceptable, because it |
// is not critical to get each noise estimate. |
if (noise_estimation_queue_.Insert(&noise)) { |