音量“增益”的本质是什么?音频自动增益控制AGC(二)
2022/07/14

音量“增益”的本质是什么

“增益”指的是放大一定倍数,音量“增益”简而言之就是将音量放大一定倍数。

我们已经知道,决定音量大小的物理量为“振幅”,如果能对“振幅”进行调节,其实也就调节了音量。所以,“将音量放大一定倍数”实际上是“将音频采样点的幅值放大一定倍数”,实现上就是将音频采样点的幅值乘上一个系数,系数小于 1,就是缩小幅值,大于 1 就是放大幅值。

需要注意的是,幅值的放大倍数和人耳的听觉感受并不统一,更不成线性关系。也就是说,幅值放大一倍,人耳的听感并没有相应的也放大一倍。针对这种涉及两个物理量比值的非线性关系,我们仍可以借助分贝来处理。

音频采样位深 16bit 下,振幅为 A1 的音频相对于振幅为 A2 的音频,其音量的增益为 :dB = 20 * log10(A1/A2)。

  • 假设采样点幅值放大为2倍(A1/A2 = 2),则该声音被增益了 20*log10(2) ≈ 6dB
  • 假设采样点幅值不变(A1/A2 = 1),则该声音被增益了 20*log10(1) = 0dB
  • 假设采样点幅值缩小为1/2(A1/A2 = 1/2),则该声音增益了 20*log10(1/2) ≈ -6dB

若增益为正数,表示对音量做放大处理;反之增益为负数时,表示对音量做缩小处理;增益为 0dB 表示使用原始的音量(大家需要注意,虽然都是 0dB,但不要混淆 音量大小 和 音量增益)。使用 dB 来进行增益计算,就和使用全分贝刻度作为音量大小单位联系起来了。

ZEGO SDK 支持通过接口主动对采集/播放音量进行调节,为符合理解习惯,接口可选的设置值为 [0,200]。其中 [0,100] 对应 -40 ~ 0 dB 的增益,会缩小或保留原始音量; (100,200] 对应 0~12 dB 的增益,会放大音量,参考上面的公式,最高可将幅值放大4倍。

基于对音量增益本质的了解,我们进一步了解一下常见的音量增益途径:模拟增益和数字增益。两种增益途径的具体细节就不做展开,结合已知的基础知识,大家只需要简单了解如下:

  • 模拟增益:调整连续模拟信号的波形幅度,一般依赖于设备系统接口,控制设备硬件的采集增益,调节系统采集音量
  • 数字增益:调整离散数字信号的采样点幅值,不依赖于设备系统接口,不调节系统采集音量

一般来说,Windows 和 Mac 端普遍支持模拟增益调节,这些平台往往会采用模拟增益 + 数字增益结合的策略调节音量。其中 Windows 端因采集声卡种类繁多,有些声卡的采集音量极小,如果不做系统音量的模拟增益、直接做数字增益,可能会因精度不够,导致数字增益后音质不佳。而移动端(iOS、Android)、Linux 端一般没有调节系统采集音量的接口,无法进行模拟增益调节,只能依赖于数字增益。

当然,只有两种基本的增益方式是无法满足复杂多变的实际场景的,AGC 算法需要根据平台差异和实际需求,灵活选择/搭配上述两种方式,并以此作为基础进一步制定处理策略。

这也就是我们下篇文章分享的 AGC 概念逐个击破的第三部分内容:AGC 进行音量增益“自动控制”的策略是什么?

扫一扫,获取更多服务与支持
热门推荐
H.264 与 H.265 视频编解码器的区别,哪个更好?
2024/07/26
直播产品中的“六边形战士”来了!ZEGO 超低延迟直播,高质量带来新增长!
2024/07/23
什么是抖动?如何使用抖动缓冲区来减少抖动
2024/07/22
热门标签
AI 降噪
AI课堂
ExpressSDK
MSDN
RTI
SEI
webrtc
ZIM
互动白板
即构融资
在线KTV
在线K歌
屏幕共享
录屏采集
数智人
直播技术
范围语音
行业报告
语聊房
语音社交
超分
音视频
音视频开发
音视频技术
音频编码
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们
关注我们
获得更多服务与支持了解价格与优惠 扫码关注我们