From a9a0b0466a980624fe1a39000ddc1e7d74c25ed3 Mon Sep 17 00:00:00 2001 From: "KangJing Huang (Chaserhkj)" Date: Wed, 10 Nov 2021 17:10:56 -0500 Subject: [PATCH] module-echo-cancel: wireup voice detection --- src/modules/module-echo-cancel/aec-webrtc.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/modules/module-echo-cancel/aec-webrtc.cpp b/src/modules/module-echo-cancel/aec-webrtc.cpp index 288de133b..79475926e 100644 --- a/src/modules/module-echo-cancel/aec-webrtc.cpp +++ b/src/modules/module-echo-cancel/aec-webrtc.cpp @@ -54,6 +54,7 @@ static void *webrtc_create(const struct pw_properties *args, const spa_audio_inf bool delay_agnostic = pw_properties_get_bool(args, "webrtc.delay_agnostic", true); bool high_pass_filter = pw_properties_get_bool(args, "webrtc.high_pass_filter", true); bool noise_suppression = pw_properties_get_bool(args, "webrtc.noise_suppression", true); + bool voice_detection = pw_properties_get_bool(args, "webrtc.voice_detection", true); // Note: AGC seems to mess up with Agnostic Delay Detection, especially with speech, // result in very poor performance, disable by default @@ -95,6 +96,7 @@ static void *webrtc_create(const struct pw_properties *args, const spa_audio_inf apm->echo_cancellation()->set_suppression_level(webrtc::EchoCancellation::kHighSuppression); apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh); apm->noise_suppression()->Enable(noise_suppression); + apm->voice_detection()->Enable(voice_detection); // TODO: wire up AGC parameters to args apm->gain_control()->set_analog_level_limits(0, 255); apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital);