AGC2 is the newer automatic gain control in libWebRTC, the adaptive digital design that replaced the original analog-loop AGC1. Its job is to keep the captured voice at a consistent target level regardless of how loud the speaker is or how far from the microphone they sit, so listeners don't have to constantly adjust their volume. AGC2 estimates the speech level and applies gain with an adaptive digital gain controller plus a limiter to catch peaks, aiming for steadier, more predictable results across the wildly varying microphones and input gains found on real devices. It works alongside the echo canceller and noise suppressor in the WebRTC processing chain, and tuning it badly causes pumping or noise breathing.

Book cover: Audio for Video, Volume 4 of the Fora Soft Video Engineering Handbook

The book · Volume 4 of 7

Audio for Video: A Complete Guide to Sound in Video Products: From PCM and Codecs to Loudness, Accessibility, and Real-Time Voice Processing

AGC2 is the gain control most WebRTC apps run today, and its defaults do not suit every microphone or room. Volume 4 covers AGC2 in detail within real-time voice processing: adaptive digital gain, echo cancellation, noise suppression, VAD and how libWebRTC chains these stages before encoding. Written by Nikolay Sapunov, CEO at Fora Soft.

Read it on Amazon →Kindle & paperback · Fora Soft Video Engineering Handbook

Tuning AGC2 in your WebRTC app for consistent voice levels?

Share recordings and your current settings, and we will tune AGC2 for your devices and give you a test plan for regressions. 250+ video products shipped since 2005.

Book a 30-min call →WhatsApp →Email us →