如何在为音频会议混合音频时自动增益控制 (AGC)
Posted
技术标签:
【中文标题】如何在为音频会议混合音频时自动增益控制 (AGC)【英文标题】:How to Auto Gain Control (AGC) while mixing audio for audio conference 【发布时间】:2021-12-27 18:00:45 【问题描述】:我正在以 16 位小端、16khz 和帧持续时间为 60 毫秒捕获音频。
现在在为音频会议进行混音时,我可以将每个参与者的样本(音频短数组)除以参与者数量,然后全部相加(以避免剪辑)。但由于语音级别不同,产生的声音低且不流畅。如何在此处应用自动增益控制以首先将参与者的音频带到目标水平,然后在混合后应用计算出的自适应增益,使声音变得流畅且不会被削波?
【问题讨论】:
【参考方案1】:需要将信号转换为 PCM 值(例如,带符号的 floats
,范围从 -1 到 1 或带符号的 shorts
)。作为 PCM,您可以使用某种 RMS(均方根)算法来确定信号的功率电平。然后可以将 PCM 值乘以音量因子以获得所需的音量。然后需要将 PCM 转换回字节流。这只是一个基本的路线图,但希望可以为您指明大方向。 IDK 如果有可用于处理此问题的库。这个问题已经出现了多次,所以似乎有可能。
【讨论】:
以上是关于如何在为音频会议混合音频时自动增益控制 (AGC)的主要内容,如果未能解决你的问题,请参考以下文章
详解 WebRTC 高音质低延时的背后—AGC 自动增益控制