Index: webrtc/modules/audio_processing/intelligibility/test/intelligibility_proc.cc |
diff --git a/webrtc/modules/audio_processing/intelligibility/test/intelligibility_proc.cc b/webrtc/modules/audio_processing/intelligibility/test/intelligibility_proc.cc |
index 2f1888d28cf27e169d6273e1145de20d40bc2a86..ccee3f6b8c6315808cfc5f9659465e6677692672 100644 |
--- a/webrtc/modules/audio_processing/intelligibility/test/intelligibility_proc.cc |
+++ b/webrtc/modules/audio_processing/intelligibility/test/intelligibility_proc.cc |
@@ -31,6 +31,7 @@ |
#include "webrtc/test/testsupport/fileutils.h" |
using std::complex; |
+using webrtc::intelligibility::VarianceArray; |
namespace webrtc { |
@@ -38,7 +39,7 @@ using webrtc::RealFourier; |
using webrtc::IntelligibilityEnhancer; |
DEFINE_int32(clear_type, |
- webrtc::intelligibility::VarianceArray::kStepInfinite, |
+ webrtc::intelligibility::VarianceArray::kStepDecaying, |
"Variance algorithm for clear data."); |
DEFINE_double(clear_alpha, 0.9, "Variance decay factor for clear data."); |
DEFINE_int32(clear_window, |
@@ -63,9 +64,9 @@ DEFINE_string(out_file, |
"Enhanced output. Use '-' to " |
"play through aplay immediately."); |
-// Constant IntelligibilityEnhancer constructor parameters. |
-const int kErbResolution = 2; |
const int kNumChannels = 1; |
+const float kVoiceDetected = 1.f; |
+const float kNoiseDetected = 0.f; |
// void function for gtest |
void void_main(int argc, char* argv[]) { |
@@ -104,11 +105,14 @@ void void_main(int argc, char* argv[]) { |
noise_file.ReadSamples(samples, &noise_fpcm[0]); |
// Run intelligibility enhancement. |
- |
- IntelligibilityEnhancer enh( |
- kErbResolution, FLAGS_sample_rate, kNumChannels, FLAGS_clear_type, |
- static_cast<float>(FLAGS_clear_alpha), FLAGS_clear_window, FLAGS_ana_rate, |
- FLAGS_var_rate, FLAGS_gain_limit); |
+ IntelligibilityEnhancer::Config config; |
+ config.sample_rate_hz = FLAGS_sample_rate; |
+ config.var_type = static_cast<VarianceArray::StepType>(FLAGS_clear_type); |
+ config.var_decay_rate = static_cast<float>(FLAGS_clear_alpha); |
+ config.var_window_size = FLAGS_clear_window; |
+ config.analysis_rate = FLAGS_ana_rate; |
+ config.gain_change_limit = FLAGS_gain_limit; |
+ IntelligibilityEnhancer enh(config); |
// Slice the input into smaller chunks, as the APM would do, and feed them |
// through the enhancer. |
@@ -116,8 +120,10 @@ void void_main(int argc, char* argv[]) { |
float* noise_cursor = &noise_fpcm[0]; |
for (size_t i = 0; i < samples; i += fragment_size) { |
- enh.ProcessCaptureAudio(&noise_cursor); |
- enh.ProcessRenderAudio(&clear_cursor); |
+ enh.AnalyzeCaptureAudio(&noise_cursor, FLAGS_sample_rate, kNumChannels, |
+ kNoiseDetected); |
+ enh.ProcessRenderAudio(&clear_cursor, FLAGS_sample_rate, kNumChannels, |
+ kVoiceDetected); |
clear_cursor += fragment_size; |
noise_cursor += fragment_size; |
} |