webrtc/modules/audio_processing/agc2
Alessio Bazzica 6b7834c14f Add generic input volume controller test for both AGC1 and AGC2
Make sure that the input volume controller implementations exhibit
the adaptive behavior regardless of the sample rate and the number
of channels. The newly added tests check that:
- a downward adjustment takes place with clipping input
- an upward adjustment takes place with a too low speech level
- a downward adjustment takes place with a too high speech level

Bug: webrtc:14761
Change-Id: I1795e74c5f219e15107e928ebaca2bfa75214526
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/287301
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Hanna Silen <silen@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38930}
2022-12-20 14:41:31 +00:00
..
rnn_vad Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
adaptive_digital_gain_controller.cc Fix APM AGC2 initialization: pass the correct number of channels 2022-12-09 15:02:20 +00:00
adaptive_digital_gain_controller.h Fix APM AGC2 initialization: pass the correct number of channels 2022-12-09 15:02:20 +00:00
adaptive_digital_gain_controller_unittest.cc Fix APM AGC2 initialization: pass the correct number of channels 2022-12-09 15:02:20 +00:00
agc2_common.h AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
agc2_testing_common.cc AGC2 noise estimator code style improvements 2021-04-07 11:57:55 +00:00
agc2_testing_common.h AGC2 limiter: faster recovery 2021-11-19 10:00:21 +00:00
agc2_testing_common_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
biquad_filter.cc Optimize the AGC2 Biquad filter. 2022-06-20 16:05:51 +00:00
biquad_filter.h BiQuadFilter: API improvements 2021-10-28 14:04:09 +00:00
biquad_filter_unittest.cc BiQuadFilter: API improvements 2021-10-28 14:04:09 +00:00
BUILD.gn Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests 2022-12-12 19:26:01 +00:00
clipping_predictor.cc InputVolumeController: readability improvements 2022-12-02 12:49:04 +00:00
clipping_predictor.h ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_level_buffer.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_level_buffer.h ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_level_buffer_unittest.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
clipping_predictor_unittest.cc ClippingPredictor/Evaluator/LevelBuffer and GainMap: Move to agc2 2022-10-05 08:35:42 +00:00
compute_interpolated_gain_curve.cc Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
compute_interpolated_gain_curve.h Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
cpu_features.cc RNN VAD: FC layer simplified 2020-12-09 00:04:50 +00:00
cpu_features.h RNN VAD: FC layer simplified 2020-12-09 00:04:50 +00:00
fixed_digital_level_estimator.cc AGC2 limiter: faster recovery 2021-11-19 10:00:21 +00:00
fixed_digital_level_estimator.h Remove RTC_DISALLOW_COPY_AND_ASSIGN from modules/ 2022-01-24 11:50:20 +00:00
fixed_digital_level_estimator_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
gain_applier.cc AGC2: GainController::ApplyConfig removed 2021-10-14 12:58:25 +00:00
gain_applier.h AudioFrameView: size_t -> int 2021-10-07 14:41:03 +00:00
gain_applier_unittest.cc Reformat the WebRTC code base 2018-06-19 14:00:39 +00:00
gain_map_internal.h InputVolumeController: readability improvements 2022-12-02 12:49:04 +00:00
input_volume_controller.cc Unify AGC2 experiment field trials into one 2022-12-14 16:40:41 +00:00
input_volume_controller.h Unify AGC2 experiment field trials into one 2022-12-14 16:40:41 +00:00
input_volume_controller_unittest.cc Add generic input volume controller test for both AGC1 and AGC2 2022-12-20 14:41:31 +00:00
input_volume_stats_reporter.cc Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests 2022-12-12 19:26:01 +00:00
input_volume_stats_reporter.h Fix WebRTC.Audio.Apm.RecommendedInputVolume.OnChangeToMatchTarget tests 2022-12-12 19:26:01 +00:00
input_volume_stats_reporter_unittest.cc InputVolumeStatsReporter: replace WebRTC.Audio.AgcSetLevel 2022-12-08 15:44:43 +00:00
interpolated_gain_curve.cc Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
interpolated_gain_curve.h Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
interpolated_gain_curve_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
limiter.cc Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
limiter.h Adopt absl::string_view in modules/audio_processing/ 2022-08-16 13:49:14 +00:00
limiter_db_gain_curve.cc Use backticks not vertical bars to denote variables in comments for /modules/audio_processing 2021-08-09 21:49:02 +00:00
limiter_db_gain_curve.h AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
limiter_db_gain_curve_unittest.cc AGC2 Limiter class renamed. 2018-10-23 15:20:52 +00:00
limiter_unittest.cc AGC2: renaming GainCurveApplier to Limiter. 2018-10-30 16:00:18 +00:00
noise_level_estimator.cc AGC2 NoiseLevelEstimator: DCHECK pointer 2022-12-06 15:14:04 +00:00
noise_level_estimator.h AGC2: removed unused noise estimator implementation 2021-09-01 12:45:20 +00:00
noise_level_estimator_unittest.cc AGC2: removed unused noise estimator implementation 2021-09-01 12:45:20 +00:00
saturation_protector.cc AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
saturation_protector.h AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
saturation_protector_buffer.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_buffer.h AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_buffer_unittest.cc AGC2: retuning and large refactoring 2021-04-14 19:01:01 +00:00
saturation_protector_unittest.cc AGC2: use only one headroom parameter 2021-09-28 16:52:16 +00:00
speech_level_estimator.cc AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
speech_level_estimator.h AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
speech_level_estimator_unittest.cc AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
speech_probability_buffer.cc Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
speech_probability_buffer.h Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
speech_probability_buffer_unittest.cc Add SpeechProbabilityBuffer 2022-10-06 11:23:03 +00:00
vad_wrapper.cc AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
vad_wrapper.h AGC2 adaptive digital controller config clean-up 2022-12-09 13:07:34 +00:00
vad_wrapper_unittest.cc Replace "(const override)" with "(const, override)" in GMOCKs 2022-01-26 10:59:40 +00:00
vector_float_frame.cc Add FixedGainController and move GainController2 in APM. 2018-02-16 10:56:38 +00:00
vector_float_frame.h AGC2-fixed-digital: Level Estimator 2018-02-16 13:55:18 +00:00