webrtc/modules/audio_processing/test
Per Åhgren db5d728878 Add refined handling of the internal scaling of the audio in APM
This CL adds functionality that allows adjusting the audio levels
internally in APM. The main purpose of the functionality is to allow
APM to optionally be moved to an integration that does not provide an
analog gain to control, and the implementation of this has been
tailored specifically to meet the requirements for that.

More specifically, this CL does
-Add a new variant of the pre-amplifier gain that is intended to replace
 the pre-amplifier gain (but at the moment can coexist with that). The
 main differences with the pre-amplifier gain is that an attenuating
 gain is allowed, the gain is applied jointly with any emulated analog
 gain, and that its packaging fits better with the post gain.
-Add an emulation of an analog microphone gain. The emulation is
 designed to match the analog mic gain functionality in Chrome OS (which
 is digital) but should be usable also on other platforms.
-Add a post-gain which is applied after all processing has been applied.
 The purpose of this gain is for it to work well with the integration
 in ChromeOS, and be used to compensate for the offset that there is
 applied on some USB audio devices.


Bug: b/177830918
Change-Id: I0f312996e4088c9bd242a713a703eaaeb17f188a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209707
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33466}
2021-03-15 19:12:02 +00:00
..
android/apmtest
conversational_speech Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
py_quality_assessment Remove from chromium build targets that are not compatible with it. 2021-02-01 13:46:19 +00:00
aec_dump_based_simulator.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
aec_dump_based_simulator.h Add more refined control over dumping of data and the aecdump content 2021-02-06 00:36:10 +00:00
api_call_statistics.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
api_call_statistics.h Added more refined benchmarking code for audioproc_f 2019-04-04 08:37:16 +00:00
apmtest.m
audio_buffer_tools.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audio_buffer_tools.h Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audio_processing_builder_for_testing.cc Cleanup of the APM creation 2020-09-02 20:28:49 +00:00
audio_processing_builder_for_testing.h APM: Add build flag to allow building WebRTC without APM 2020-04-26 23:06:44 +00:00
audio_processing_simulator.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audio_processing_simulator.h Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audioproc_float_impl.cc Add refined handling of the internal scaling of the audio in APM 2021-03-15 19:12:02 +00:00
audioproc_float_impl.h Add ability for audioproc_f to operate on any AudioProcessing object. 2020-05-19 11:37:18 +00:00
bitexactness_tools.cc Format almost everything. 2019-07-08 13:45:15 +00:00
bitexactness_tools.h Add DCHECK and documentation to disallow trying to read more than two audio channels in helper function. 2018-01-12 15:27:50 +00:00
debug_dump_replayer.cc Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
debug_dump_replayer.h Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
debug_dump_test.cc APM: Add build flag to allow building WebRTC without APM 2020-04-26 23:06:44 +00:00
echo_canceller_test_tools.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
echo_canceller_test_tools.h AEC3: Add support in the echo subtractor for handling multiple channels 2019-10-05 07:45:47 +00:00
echo_canceller_test_tools_unittest.cc AEC3: Make RenderSignalAnalyzer multi-channel 2019-09-13 06:07:09 +00:00
echo_control_mock.h Enabling a safe fall-back functionality for overruns in the runtime settings 2021-03-03 12:06:54 +00:00
fake_recording_device.cc APM: Replace all remaining usage of AudioFrame outside interfaces 2020-03-19 12:40:18 +00:00
fake_recording_device.h APM: Replace all remaining usage of AudioFrame outside interfaces 2020-03-19 12:40:18 +00:00
fake_recording_device_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
performance_timer.cc Optional: Use nullopt and implicit construction in /modules/audio_processing 2017-11-20 10:19:30 +00:00
performance_timer.h Replace rtc::Optional with absl::optional in modules/audio processing 2018-06-19 10:38:56 +00:00
protobuf_utils.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
protobuf_utils.h audioproc_f: input AEC dump as string, output audio to vector 2019-08-12 09:17:36 +00:00
runtime_setting_util.cc Reland "Add ability to state whether the APM output will be used" 2020-08-18 12:29:32 +00:00
runtime_setting_util.h Store RuntimeSetting in Aec Dumps. 2018-09-10 11:40:28 +00:00
simulator_buffers.cc Reland "Simplification and refactoring of the AudioBuffer code" 2019-08-22 10:34:05 +00:00
simulator_buffers.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
test_utils.cc Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00
test_utils.h APM: Removing the redundant VAD output from the integer API 2020-03-19 13:59:00 +00:00
unittest.proto Base ApmTest.Process on AudioProcessingStats.output_rms_dbfs 2018-12-18 16:45:03 +00:00
wav_based_simulator.cc Add more refined control over dumping of data and the aecdump content 2021-02-06 00:36:10 +00:00
wav_based_simulator.h Add more refined control over dumping of data and the aecdump content 2021-02-06 00:36:10 +00:00