webrtc/modules/audio_processing/aec3
Gustaf Ullberg 468bf9ac7f AEC3: Enable unbounded echo spectrum for dominant nearend detection by default
This change improves echo canceller transparency by enabling the use
of a non-capped ERLE when computing the residual echo spectrum for
dominant nearend detection.

Experimentation has shown that the feature improves echo canceller
transparency and user ratings.

Implementation CL:
https://webrtc-review.googlesource.com/c/src/+/221920

Bug: webrtc:12870
Change-Id: I7dc66810e8300cd35321bcd5b9fae9bc3386836d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/234841
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35186}
2021-10-12 08:52:50 +00:00
..
mock Allowing reduced computations in the AEC3 when the output is not used 2021-03-16 09:16:32 +00:00
adaptive_fir_filter.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter.h aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter_avx2.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter_erl.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter_erl.h aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter_erl_avx2.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
adaptive_fir_filter_erl_unittest.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00
adaptive_fir_filter_unittest.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00
aec3_common.cc Fix some -Wunreachable-code-aggressive warnings 2021-08-16 11:09:16 +00:00
aec3_common.h AEC3: Stop reporting obsolete metrics 2020-10-20 11:54:48 +00:00
aec3_fft.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00
aec3_fft.h Reland "Change to using the new Ooura constructor" 2020-06-03 12:27:14 +00:00
aec3_fft_unittest.cc Rename several more tests that use EXPECT_DEATH to *DeathTest. 2020-05-18 16:10:04 +00:00
aec_state.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
aec_state.h AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
aec_state_unittest.cc AEC3: Avoid overcompensating for render onsets during dominant nearend 2021-04-20 12:33:02 +00:00
alignment_mixer.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
alignment_mixer.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
alignment_mixer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
api_call_jitter_metrics.cc AEC3: Add metrics for API call jitter 2018-11-27 19:52:08 +00:00
api_call_jitter_metrics.h AEC3: Add metrics for API call jitter 2018-11-27 19:52:08 +00:00
api_call_jitter_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
block_buffer.cc Rename VectorBuffer->SpectrumBuffer, MatrixBuffer->BlockBuffer, BlockBuffer->Aec2BlockBuffer 2019-09-05 10:53:24 +00:00
block_buffer.h Remove completed TODOs 2019-09-06 14:53:11 +00:00
block_delay_buffer.cc AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_delay_buffer.h AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_delay_buffer_unittest.cc AEC3: Added multi-channel support for the capture delay functionality 2020-01-28 15:39:26 +00:00
block_framer.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
block_framer.h Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
block_framer_unittest.cc Rename several more tests that use EXPECT_DEATH to *DeathTest. 2020-05-18 16:10:04 +00:00
block_processor.cc Allowing reduced computations in the AEC3 when the output is not used 2021-03-16 09:16:32 +00:00
block_processor.h Allowing reduced computations in the AEC3 when the output is not used 2021-03-16 09:16:32 +00:00
block_processor_metrics.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
block_processor_metrics.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
block_processor_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
block_processor_unittest.cc AEC3: Fix render delay buffer alignment issue at call start 2020-07-27 15:19:58 +00:00
BUILD.gn Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
clockdrift_detector.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
clockdrift_detector.h IWYU: size_t is defined in stddef.h 2020-06-03 08:43:50 +00:00
clockdrift_detector_unittest.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
coarse_filter_update_gain.cc AEC3: Rename shadow filter 2020-03-20 15:26:14 +00:00
coarse_filter_update_gain.h AEC3: Rename shadow filter 2020-03-20 15:26:14 +00:00
coarse_filter_update_gain_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
comfort_noise_generator.cc AEC3: Added parametrization of the comfort noise floor 2020-03-25 08:56:17 +00:00
comfort_noise_generator.h AEC3: Added parametrization of the comfort noise floor 2020-03-25 08:56:17 +00:00
comfort_noise_generator_unittest.cc AEC3: Added parametrization of the comfort noise floor 2020-03-25 08:56:17 +00:00
decimator.cc AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
decimator.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
decimator_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
delay_estimate.h Inform the AEC3 echo remover about the status of the estimated delay 2018-02-21 17:08:36 +00:00
dominant_nearend_detector.cc AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
dominant_nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
downsampled_render_buffer.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
downsampled_render_buffer.h Format almost everything. 2019-07-08 13:45:15 +00:00
echo_audibility.cc AEC3: Correct the number of render channels in the echo audibility code 2019-12-02 13:13:11 +00:00
echo_audibility.h AEC3: Made EchoAudibility multichannel 2019-10-15 09:25:46 +00:00
echo_canceller3.cc AEC3: Using a more conservative frequency response representation of the tails. 2021-09-10 13:20:35 +00:00
echo_canceller3.h Enabling a safe fall-back functionality for overruns in the runtime settings 2021-03-03 12:06:54 +00:00
echo_canceller3_unittest.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
echo_path_delay_estimator.cc AEC3: Change adaptation speed of the matched filter after a delay is found 2021-05-19 13:37:13 +00:00
echo_path_delay_estimator.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
echo_path_delay_estimator_unittest.cc Rename EchoPathDelayEstimator to EchoPathDelayEstimatorDeathTest. 2020-05-18 14:27:14 +00:00
echo_path_variability.cc Redesign of the render buffering in AEC3 2017-12-01 23:14:32 +00:00
echo_path_variability.h Remove unused enums and members 2020-09-30 14:34:44 +00:00
echo_path_variability_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
echo_remover.cc AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
echo_remover.h Allowing reduced computations in the AEC3 when the output is not used 2021-03-16 09:16:32 +00:00
echo_remover_metrics.cc AEC3: Stop reporting obsolete metrics 2020-10-20 11:54:48 +00:00
echo_remover_metrics.h AEC3: Stop reporting obsolete metrics 2020-10-20 11:54:48 +00:00
echo_remover_metrics_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
echo_remover_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
erl_estimator.cc AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +00:00
erl_estimator.h AEC3: Multi channel ERL estimator 2019-10-18 16:03:46 +00:00
erl_estimator_unittest.cc Add parameterization for three multi channel AEC3 unit tests 2020-01-24 12:26:46 +00:00
erle_estimator.cc AEC3: Avoid overcompensating for render onsets during dominant nearend 2021-04-20 12:33:02 +00:00
erle_estimator.h AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
erle_estimator_unittest.cc AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
fft_buffer.cc Add multi-channel to FftBuffer 2019-09-05 14:10:04 +00:00
fft_buffer.h Add multi-channel to FftBuffer 2019-09-05 14:10:04 +00:00
fft_data.h aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
fft_data_avx2.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
fft_data_unittest.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00
filter_analyzer.cc Add explicit initialization for the FilterAnalyzer in AEC3 2020-09-10 10:50:43 +00:00
filter_analyzer.h Add explicit initialization for the FilterAnalyzer in AEC3 2020-09-10 10:50:43 +00:00
filter_analyzer_unittest.cc AEC3: General cleanup after multichannel changes 2019-10-18 07:43:49 +00:00
frame_blocker.cc Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
frame_blocker.h Reland "Reland "Add core multi-channel pipeline in AEC3 This CL adds basic the basic pipeline to support multi-channel processing in AEC3."" 2019-09-03 06:12:32 +00:00
frame_blocker_unittest.cc Rename several more tests that use EXPECT_DEATH to *DeathTest. 2020-05-18 16:10:04 +00:00
fullband_erle_estimator.cc Fixing the bounds for the max and min erle in the erle instantaneous estimation. 2020-12-15 14:29:52 +00:00
fullband_erle_estimator.h Erle metric: avoid the decreasing of the metric when there is no render activity. 2020-12-09 11:48:11 +00:00
matched_filter.cc AEC3: Change adaptation speed of the matched filter after a delay is found 2021-05-19 13:37:13 +00:00
matched_filter.h AEC3: Change adaptation speed of the matched filter after a delay is found 2021-05-19 13:37:13 +00:00
matched_filter_avx2.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
matched_filter_lag_aggregator.cc Dump histogram data in AEC3 delay estimator 2019-02-11 14:13:38 +00:00
matched_filter_lag_aggregator.h AEC3: Change adaptation speed of the matched filter after a delay is found 2021-05-19 13:37:13 +00:00
matched_filter_lag_aggregator_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
matched_filter_unittest.cc AEC3: Change adaptation speed of the matched filter after a delay is found 2021-05-19 13:37:13 +00:00
moving_average.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
moving_average.h Format almost everything. 2019-07-08 13:45:15 +00:00
moving_average_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
refined_filter_update_gain.cc AEC3: Prevent diverging coarse filter from influencing the refined filter 2020-12-08 15:05:23 +00:00
refined_filter_update_gain.h AEC3: Prevent diverging coarse filter from influencing the refined filter 2020-12-08 15:05:23 +00:00
refined_filter_update_gain_unittest.cc AEC3: Prevent diverging coarse filter from influencing the refined filter 2020-12-08 15:05:23 +00:00
render_buffer.cc Rename VectorBuffer->SpectrumBuffer, MatrixBuffer->BlockBuffer, BlockBuffer->Aec2BlockBuffer 2019-09-05 10:53:24 +00:00
render_buffer.h Delete macros RTC_DISALLOW_ASSIGN and RTC_DISALLOW_IMPLICIT_CONSTRUCTORS 2020-09-29 10:19:20 +00:00
render_buffer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
render_delay_buffer.cc AEC3: Re-add delay headroom when precise alignment is needed 2020-10-06 07:54:08 +00:00
render_delay_buffer.h AEC3: Fix render delay buffer alignment issue at call start 2020-07-27 15:19:58 +00:00
render_delay_buffer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
render_delay_controller.cc Delete macros RTC_DISALLOW_ASSIGN and RTC_DISALLOW_IMPLICIT_CONSTRUCTORS 2020-09-29 10:19:20 +00:00
render_delay_controller.h AEC3: Add signal dependent mixing before alignment 2019-12-03 11:30:48 +00:00
render_delay_controller_metrics.cc AEC3: Clockdrift detection 2018-11-22 16:02:44 +00:00
render_delay_controller_metrics.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
render_delay_controller_metrics_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
render_delay_controller_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
render_signal_analyzer.cc AEC3: Rename main filter 2020-03-20 13:25:01 +00:00
render_signal_analyzer.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
render_signal_analyzer_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
residual_echo_estimator.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
residual_echo_estimator.h AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
residual_echo_estimator_unittest.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
reverb_decay_estimator.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
reverb_decay_estimator.h AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
reverb_frequency_response.cc AEC3: Using a more conservative frequency response representation of the tails. 2021-09-10 13:20:35 +00:00
reverb_frequency_response.h AEC3: Using a more conservative frequency response representation of the tails. 2021-09-10 13:20:35 +00:00
reverb_model.cc AEC3: Add multichannel support to the residual echo estimator 2019-10-08 11:18:35 +00:00
reverb_model.h AEC3: Add multichannel support to the residual echo estimator 2019-10-08 11:18:35 +00:00
reverb_model_estimator.cc AEC3: Using a more conservative frequency response representation of the tails. 2021-09-10 13:20:35 +00:00
reverb_model_estimator.h AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
reverb_model_estimator_unittest.cc AEC3: adding a milder exponential decay parameter that is used for dominant nearend regions when enabled. 2021-09-08 11:36:50 +00:00
signal_dependent_erle_estimator.cc AEC3: Avoid overcompensating for render onsets during dominant nearend 2021-04-20 12:33:02 +00:00
signal_dependent_erle_estimator.h AEC3: Avoid overcompensating for render onsets during dominant nearend 2021-04-20 12:33:02 +00:00
signal_dependent_erle_estimator_unittest.cc AEC3: Avoid overcompensating for render onsets during dominant nearend 2021-04-20 12:33:02 +00:00
spectrum_buffer.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
spectrum_buffer.h AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
stationarity_estimator.cc AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
stationarity_estimator.h AEC3: Update SpectrumBuffer API 2019-10-18 07:01:42 +00:00
subband_erle_estimator.cc AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
subband_erle_estimator.h AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
subband_nearend_detector.cc AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
subband_nearend_detector.h AEC3: Sub-band nearend detector 2019-11-25 16:26:49 +00:00
subtractor.cc Add ability to dump the coarse filter in the echo subtractor 2021-05-19 08:24:16 +00:00
subtractor.h Add ability to dump the coarse filter in the echo subtractor 2021-05-19 08:24:16 +00:00
subtractor_output.cc AEC3: Rename shadow filter 2020-03-20 15:26:14 +00:00
subtractor_output.h AEC3: Rename shadow filter 2020-03-20 15:26:14 +00:00
subtractor_output_analyzer.cc AEC3: Prevent transparent mode from leaking low volume echo 2020-10-21 11:19:55 +00:00
subtractor_output_analyzer.h AEC3: Prevent transparent mode from leaking low volume echo 2020-10-21 11:19:55 +00:00
subtractor_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
suppression_filter.cc AEC3: Suppression filter handles multiple channels 2019-09-24 13:50:04 +00:00
suppression_filter.h Remove unused instance of Ooura FFT 2020-06-03 00:33:54 +00:00
suppression_filter_unittest.cc Rename more death test to *DeathTest 2020-05-26 20:27:34 +00:00
suppression_gain.cc AEC3: Enable unbounded echo spectrum for dominant nearend detection by default 2021-10-12 08:52:50 +00:00
suppression_gain.h AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
suppression_gain_unittest.cc AEC3: Unbounded echo spectrum for dominant nearend detection. 2021-06-11 13:30:00 +00:00
transparent_mode.cc Improvements to AEC3 logging to simplify debugging 2021-05-19 14:28:44 +00:00
transparent_mode.h AEC3: Prevent transparent mode from leaking low volume echo 2020-10-21 11:19:55 +00:00
vector_math.h aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
vector_math_avx2.cc aec3: Support AVX2/FMA intrinsics in AEC3 2020-09-01 11:58:16 +00:00
vector_math_unittest.cc Refactor cpu_features_wrapper.h functions from C to C++. 2020-09-07 08:44:24 +00:00