Adding g3doc for AudioProcessingModule (APM)
Bug: webrtc:12569 Change-Id: I8fa896a5afa9791ad6d8c2b5011d1e75ca068df4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/215141 Commit-Queue: Per Åhgren <peah@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33726}
This commit is contained in:
parent
9861f960c3
commit
dea5721efb
@ -17,6 +17,8 @@
|
|||||||
* AudioEngine
|
* AudioEngine
|
||||||
* [ADM](/modules/audio_device/g3doc/audio_device_module.md)
|
* [ADM](/modules/audio_device/g3doc/audio_device_module.md)
|
||||||
* [Audio Coding](/modules/audio_coding/g3doc/index.md)
|
* [Audio Coding](/modules/audio_coding/g3doc/index.md)
|
||||||
|
* AudioProcessingModule
|
||||||
|
* [APM](/modules/audio_processing/g3doc/audio_processing_module.md)
|
||||||
* Video
|
* Video
|
||||||
* DataChannel
|
* DataChannel
|
||||||
* PeerConnection
|
* PeerConnection
|
||||||
|
|||||||
26
modules/audio_processing/g3doc/audio_processing_module.md
Normal file
26
modules/audio_processing/g3doc/audio_processing_module.md
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# Audio Processing Module (APM)
|
||||||
|
|
||||||
|
<?% config.freshness.owner = 'peah' %?>
|
||||||
|
<?% config.freshness.reviewed = '2021-04-13' %?>
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
The APM is responsible for applying speech enhancements effects to the
|
||||||
|
microphone signal. These effects are required for VoIP calling and some
|
||||||
|
examples include echo cancellation (AEC), noise suppression (NS) and
|
||||||
|
automatic gain control (AGC).
|
||||||
|
|
||||||
|
The API for APM resides in [`/modules/audio_processing/include`][https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/modules/audio_processing/include].
|
||||||
|
APM is created using the [`AudioProcessingBuilder`][https://source.chromium.org/chromium/chromium/src/+/master:third_party/webrtc/modules/audio_processing/include/audio_processing.h]
|
||||||
|
builder that allows it to be customized and configured.
|
||||||
|
|
||||||
|
Some specific aspects of APM include that:
|
||||||
|
* APM is fully thread-safe in that it can be accessed concurrently from
|
||||||
|
different threads.
|
||||||
|
* APM handles for any input sample rates < 384 kHz and achieves this by
|
||||||
|
automatic reconfiguration whenever a new sample format is observed.
|
||||||
|
* APM handles any number of microphone channels and loudspeaker channels, with
|
||||||
|
the same automatic reconfiguration as for the sample rates.
|
||||||
|
|
||||||
|
|
||||||
|
APM can either be used as part of the WebRTC native pipeline, or standalone.
|
||||||
Loading…
x
Reference in New Issue
Block a user