Expand description
§sonora-agc2
Pure Rust implementation of Automatic Gain Control 2 (AGC2) from WebRTC.
RNN-based voice activity detection (VAD) drives an adaptive digital gain controller with limiter and clipping predictor. Includes fixed digital gain, speech level estimation, and input volume control.
Part of the Sonora audio processing library.
§License
BSD-3-Clause. See LICENSE for details.
Modules§
- adaptive_
digital_ gain_ controller - Adaptive digital gain controller.
- biquad_
filter - IIR biquad filter.
- clipping_
predictor - Clipping prediction and clipped level step estimation.
- clipping_
predictor_ level_ buffer - Circular buffer for frame-wise level metrics used by the clipping predictor.
- common
- AGC2 common constants and audio utility functions.
- fixed_
digital_ level_ estimator - Peak envelope level estimator with exponential smoothing.
- gain_
applier - Per-sample gain application with linear ramping.
- interpolated_
gain_ curve - Interpolated gain curve using piecewise-linear under-approximation.
- limiter
- Output limiter with interpolated gain curve and per-sample scaling.
- limiter_
db_ gain_ curve - Limiter dB gain curve.
- noise_
level_ estimator - Noise floor estimator based on minimum statistics.
- saturation_
protector - Saturation protector that recommends headroom based on recent peaks.
- saturation_
protector_ buffer - Ring buffer for the saturation protector.
- speech_
level_ estimator - Speech level estimator based on framewise RMS and speech probability.
- vad_
wrapper - Voice Activity Detector wrapper with resampling and periodic reset.