tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

audio_processing_module.md (1235B)


<!-- go/cmark --> <!--* freshness: {owner: 'peah' reviewed: '2021-04-13'} *-->

Audio Processing Module (APM)

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 [/api/audio/audio_processing.h][https://webrtc.googlesource.com/src/+/refs/heads/main/api/audio/audio_processing.h]. APM is created using the [BuiltinAudioProcessingBuilder][https://webrtc.googlesource.com/src/+/refs/heads/main/api/audio/builtinaudioprocessing_builder.h] builder that allows it to be customized and configured.

Some specific aspects of APM include that:

different threads.

automatic reconfiguration whenever a new sample format is observed.

the same automatic reconfiguration as for the sample rates.

APM can either be used as part of the WebRTC native pipeline, or standalone.