Switch to WebRTC AGCv2
This commit is contained in:
parent
be1bb3504f
commit
bb2bae8883
1 changed files with 12 additions and 11 deletions
|
|
@ -59,11 +59,12 @@ WebRTCDSP::WebRTCDSP(const QAudioFormat& mainFormat, const QAudioFormat& auxForm
|
||||||
config.echo_canceller.mobile_mode = false;
|
config.echo_canceller.mobile_mode = false;
|
||||||
config.residual_echo_detector.enabled = false;
|
config.residual_echo_detector.enabled = false;
|
||||||
|
|
||||||
config.gain_controller1.enabled = false;
|
config.gain_controller2.enabled = false;
|
||||||
config.gain_controller1.mode = webrtc::AudioProcessing::Config::GainController1::kAdaptiveDigital;
|
config.gain_controller2.adaptive_digital.enabled = true;
|
||||||
config.gain_controller1.enable_limiter = true;
|
config.gain_controller2.adaptive_digital.level_estimator =
|
||||||
config.gain_controller1.compression_gain_db = 0;
|
webrtc::AudioProcessing::Config::GainController2::kRms;
|
||||||
config.gain_controller1.target_level_dbfs = 0;
|
config.gain_controller2.adaptive_digital.use_saturation_protector = true;
|
||||||
|
config.gain_controller2.adaptive_digital.extra_saturation_margin_db = 1;
|
||||||
|
|
||||||
apm_->ApplyConfig(config);
|
apm_->ApplyConfig(config);
|
||||||
}
|
}
|
||||||
|
|
@ -165,19 +166,19 @@ void WebRTCDSP::setParameter(const QString& param, QVariant value)
|
||||||
else if (param == "noise_reduction_suppression_level")
|
else if (param == "noise_reduction_suppression_level")
|
||||||
config.noise_suppression.level =
|
config.noise_suppression.level =
|
||||||
static_cast<NoiseSuppressionLevel>(NoiseSuppressionLevel::kLow + value.toUInt());
|
static_cast<NoiseSuppressionLevel>(NoiseSuppressionLevel::kLow + value.toUInt());
|
||||||
|
else if (param == "gain_control_enabled")
|
||||||
|
config.gain_controller2.enabled = value.toBool();
|
||||||
else if (param == "echo_cancellation_enabled")
|
else if (param == "echo_cancellation_enabled")
|
||||||
{
|
{
|
||||||
config.echo_canceller.enabled = value.toBool();
|
config.echo_canceller.enabled = value.toBool();
|
||||||
config.residual_echo_detector.enabled = value.toBool();
|
config.residual_echo_detector.enabled = value.toBool();
|
||||||
}
|
}
|
||||||
else if (param == "echo_cancellation_suppression_level")
|
|
||||||
return; // TODO ???
|
|
||||||
else if (param == "gain_control_enabled")
|
|
||||||
config.gain_controller1.enabled = value.toBool();
|
|
||||||
else if (param == "gain_control_target_level")
|
else if (param == "gain_control_target_level")
|
||||||
config.gain_controller1.target_level_dbfs = value.toInt();
|
return;
|
||||||
else if (param == "gain_control_max_gain")
|
else if (param == "gain_control_max_gain")
|
||||||
config.gain_controller1.compression_gain_db = value.toInt();
|
return;
|
||||||
|
else if (param == "echo_cancellation_suppression_level")
|
||||||
|
return;
|
||||||
else
|
else
|
||||||
throw std::invalid_argument("Invalid param");
|
throw std::invalid_argument("Invalid param");
|
||||||
apm_->ApplyConfig(config);
|
apm_->ApplyConfig(config);
|
||||||
|
|
|
||||||
Reference in a new issue