| 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;
|
| }
|
|
|