Name Description Size
adaptive_fir_filter.cc 27489
adaptive_fir_filter.h 7041
adaptive_fir_filter_avx2.cc 7444
adaptive_fir_filter_erl.cc 3404
adaptive_fir_filter_erl.h 1789
adaptive_fir_filter_erl_avx2.cc 1356
adaptive_fir_filter_erl_gn
adaptive_fir_filter_erl_unittest.cc 3152
adaptive_fir_filter_gn
adaptive_fir_filter_unittest.cc 24321
aec_state.cc power_spectrum_scaling= 20165
aec_state.h 11537
aec_state_unittest.cc 12109
aec3_avx2_gn
aec3_common.cc 1651
aec3_common.h visual c++ 4256
aec3_common_gn
aec3_fft.cc 6496
aec3_fft.h 2347
aec3_fft_gn
aec3_fft_unittest.cc 5916
aec3_gn
alignment_mixer.cc band= 5787
alignment_mixer.h 2025
alignment_mixer_unittest.cc downmix 7221
api_call_jitter_metrics.cc 4062
api_call_jitter_metrics.h 1633
api_call_jitter_metrics_unittest.cc 3545
block.h 2870
block_buffer.cc 792
block_buffer.h 1887
block_delay_buffer.cc 2395
block_delay_buffer.h 1309
block_delay_buffer_unittest.cc 3591
block_framer.cc 3314
block_framer.h 1816
block_framer_unittest.cc 13458
block_processor.cc num_render_channels 11681
block_processor.h 3349
block_processor_metrics.cc 3002
block_processor_metrics.h 1467
block_processor_metrics_unittest.cc 1088
block_processor_unittest.cc neural_residual_echo_estimator= 15252
BUILD.gn 12629
clockdrift_detector.cc 2023
clockdrift_detector.h 1158
clockdrift_detector_unittest.cc 1913
coarse_filter_update_gain.cc 3448
coarse_filter_update_gain.h 2590
coarse_filter_update_gain_unittest.cc band= 10860
comfort_noise_generator.cc 6902
comfort_noise_generator.h 2670
comfort_noise_generator_unittest.cc 2284
config_selector.cc 2354
config_selector.h 1332
config_selector_unittest.cc num_render_input_channels= 4444
decimator.cc 3555
decimator.h 1196
decimator_unittest.cc 4580
delay_estimate.h 953
DEPS 69
dominant_nearend_detector.cc 3245
dominant_nearend_detector.h 2066
downsampled_render_buffer.cc 864
downsampled_render_buffer.h 1852
echo_audibility.cc band= 4551
echo_audibility.h 3093
echo_canceller3.cc key= 43108
echo_canceller3.h 9359
echo_canceller3_unittest.cc num_bands 53113
echo_path_delay_estimator.cc 5336
echo_path_delay_estimator.h 2903
echo_path_delay_estimator_unittest.cc num_bands= 7669
echo_path_variability.cc 813
echo_path_variability.h 1068
echo_path_variability_unittest.cc 1860
echo_remover.cc 23515
echo_remover.h 2500
echo_remover_metrics.cc comfort_noise_spectrum 6222
echo_remover_metrics.h 2493
echo_remover_metrics_unittest.cc 6082
echo_remover_unittest.cc neural_residual_echo_estimator= 9144
erl_estimator.cc channel= 5125
erl_estimator.h 1782
erl_estimator_unittest.cc 3874
erle_estimator.cc onset_compensated= 3656
erle_estimator.h onset_compensated= 4335
erle_estimator_unittest.cc 12248
fft_buffer.cc 906
fft_buffer.h 1869
fft_data.h 3373
fft_data_avx2.cc 1241
fft_data_gn
fft_data_unittest.cc 5184
filter_analyzer.cc 10645
filter_analyzer.h 4395
filter_analyzer_unittest.cc 1051
frame_blocker.cc 3114
frame_blocker.h 1634
frame_blocker_unittest.cc 17001
fullband_erle_estimator.cc 6715
fullband_erle_estimator.h 4150
matched_filter.cc 31978
matched_filter.h 6235
matched_filter_avx2.cc 10043
matched_filter_gn
matched_filter_lag_aggregator.cc 7759
matched_filter_lag_aggregator.h 3374
matched_filter_lag_aggregator_unittest.cc max_filter_lag= 4172
matched_filter_unittest.cc 23891
mock
moving_average.cc 1749
moving_average.h 1274
moving_average_unittest.cc 3264
multi_channel_content_detector.cc 5516
multi_channel_content_detector.h 3483
multi_channel_content_detector_unittest.cc detect_stereo_content= 19481
nearend_detector.h 1383
neural_feature_extractor.cc 3554
neural_feature_extractor.h 1632
neural_feature_extractor_unittest.cc Python script used to generate the test data: import numpy as np from typing import List def python_feature_extractor(time_frame: np.ndarray) -> np.ndarray: frame_length: int = 256 sqrt_hann: np.ndarray = np.sqrt(np.hanning(frame_length)) magnitude_spectrum: np.ndarray = np.abs(np.fft.rfft(time_frame * sqrt_hann)) return np.power(magnitude_spectrum + 1e-8, 0.3) def format_as_cpp_array(data: np.ndarray, name: str) -> str: elements_per_line = 6 s = f"constexpr float {name}[] = {{\n " for i, x in enumerate(data): s += f"{x:.8f}, " if (i + 1) % elements_per_line == 0 and i < len(data) - 1: s += "\n " s = s.rstrip(", ") + "\n};" return s # Generate two frames of white noise np.random.seed(0) # for reproducibility noise1: np.ndarray = np.random.uniform(-1.0, 1.0, 256) noise2: np.ndarray = np.random.uniform(-1.0, 1.0, 256) # Scale to match the C++ implementation's expected input range noise1_scaled: np.ndarray = noise1 * 32768.0 noise2_scaled: np.ndarray = noise2 * 32768.0 # Python equivalent expected_output1: np.ndarray = python_feature_extractor(noise1) expected_output2: np.ndarray = python_feature_extractor(noise2) print(format_as_cpp_array(noise1_scaled, "noise1_scaled")) print(format_as_cpp_array(noise2_scaled, "noise2_scaled")) print(format_as_cpp_array(expected_output1, "expected_output1")) print(format_as_cpp_array(expected_output2, "expected_output2")) 13503
neural_residual_echo_estimator.proto 555
neural_residual_echo_estimator_impl.cc 15695
neural_residual_echo_estimator_impl.h 4079
neural_residual_echo_estimator_impl_unittest.cc frame_size= 12909
refined_filter_update_gain.cc 6199
refined_filter_update_gain.h 3121
refined_filter_update_gain_unittest.cc 16724
render_buffer.cc 2978
render_buffer.h 4042
render_buffer_gn
render_buffer_unittest.cc 1584
render_delay_buffer.cc 19460
render_delay_buffer.h 2914
render_delay_buffer_unittest.cc 4681
render_delay_controller.cc render_delay_buffer_delay 6692
render_delay_controller.h 1864
render_delay_controller_metrics.cc 4384
render_delay_controller_metrics.h 1568
render_delay_controller_metrics_unittest.cc 2793
render_delay_controller_unittest.cc num_bands=1 15016
render_signal_analyzer.cc band= 5772
render_signal_analyzer.h 2209
render_signal_analyzer_unittest.cc amplitude= 6316
residual_echo_estimator.cc 16499
residual_echo_estimator.h 3450
residual_echo_estimator_unittest.cc neural_residual_echo_estimator= 8544
reverb_decay_estimator.cc 16291
reverb_decay_estimator.h 3738
reverb_frequency_response.cc 3474
reverb_frequency_response.h 1830
reverb_model.cc 1572
reverb_model.h 1954
reverb_model_estimator.cc 2692
reverb_model_estimator.h 2611
reverb_model_estimator_unittest.cc mild= 5857
signal_dependent_erle_estimator.cc 18651
signal_dependent_erle_estimator.h 4328
signal_dependent_erle_estimator_unittest.cc band= 7976
spectrum_buffer.cc 1014
spectrum_buffer.h 2000
stationarity_estimator.cc 8510
stationarity_estimator.h 4048
subband_erle_estimator.cc 9350
subband_erle_estimator.h 3981
subband_nearend_detector.cc residual_echo_spectrum 3056
subband_nearend_detector.h 2061
subtractor.cc 15052
subtractor.h 5751
subtractor_output.cc 1979
subtractor_output.h 1580
subtractor_output_analyzer.cc 2643
subtractor_output_analyzer.h 1446
subtractor_unittest.cc num_bands= 14115
suppression_filter.cc 7757
suppression_filter.h 1810
suppression_filter_unittest.cc band= 8901
suppression_gain.cc 19518
suppression_gain.h 5452
suppression_gain_unittest.cc 6628
transparent_mode.cc filter_delay_blocks 9365
transparent_mode.h 1614
vector_math.h 6829
vector_math_avx2.cc 2221
vector_math_gn
vector_math_unittest.cc 6356