AliAGC 自动增益控制算法:解决复杂场景下的音量问题

网友投稿 356 2022-10-06

AliAGC 自动增益控制算法:解决复杂场景下的音量问题

音视频会议,直播连麦以及短视频已经成为人们工作、教学以及娱乐的一部分,其背后都离不开音视频实时通信等关键技术的广泛应用。音频方面,可预见的是客户业务形式的多样性,环境的复杂性,以及接入设备的差异性会带来的一系列问题,我们意识到单一场景的技术与策略已经无法满足日趋暴露的线上问题,音频前处理 3A(AEC,ANS, AGC)算法走向全场景自适应才是唯一出路。为了解决复杂环境中的噪声问题,我们上线了 AliCloudDenoise - 语音增强算法,补强了传统降噪技术在非稳态噪声抑制方面的缺陷;为了解决音量问题,我们上线了 AliAGC - 自动增益控制算法,极大地改善了不同环境、设备、场景下音量不统一的问题,相比传统 WebRTC AGC 更加智能。

现有 WebRTC AGC 算法存在什么问题?

在《详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)》一文中对 WebRTC AGC 不同模式的核心原理做了深入的解读,其以固定增益模式为基础,扩展出数字 / 模拟自适应模式都存在不同程度的响应过激和不及时、补偿增益估计不精准等稳定性问题,技术细节这里就不展开了,从方向上看 WebRTC AGC 追求自适应的目标是对的,也是我们首先需要优化的部分,我先来看看线上都遇到了哪些痛点问题:(1)音量不统一的问题多人会议中,音频采集效果受到设备差异性、环境以及说话人自身等诸多因素影响,如果仅采用固定增益方案,听感上就会出现不同说话人音量不统一的问题,持续的小音量或突然的超大音量只能通过频繁调节设备播放音量按键来解决。在直播间 / 短视频之间切换时,也难免会遇到类似问题。(2)环境中的嘈杂人声被过度放大的问题在办公室、卖场等开放环境,主讲人开麦但是未发言时,周围的嘈杂人声很可能会被当做主讲人声音,传统的自适应方案会触发增益补偿,导致整个过程中嘈杂声非常明显,严重影响会议、直播的体验。(3)直播连麦等娱乐场景,背景音乐音量起伏的问题直播连麦等娱乐场景中播放背景音乐是极为常见的,很多主播都会使用声卡,一般业务层都选择关闭 AGC,将调音量的权利交给主播,宏观上看并不能解决(1)中不同直播间音量差异较大的问题,主播甚至都难以察觉爆音和音量小的情况,因此在这类场景中开启 AGC 是必要的。但传统的增益补偿策略不会区分人声和背景音乐,必然会带来音乐音量的起伏问题,对于观众来说这是不可接受的,控制好存在音乐的场景是 AGC 面临的最大挑战。由此可见,鲁棒的自适应模拟 / 数字增益是非常基础的,仅能解决(1)中音量不统一的问题,我们还需要通过新增其他的方法或模块去应对具体场景中的音量问题。AliAGC 算法优化方向阿里云视频云音频技术团队为了追求极致的音视频通话体验,AGC 作为音频 3A 算法中最后一环,我们提出了如下要求:① 增益补偿以及自适应调节策略响应迅速,做到秒级收敛;② 增益范围大,能覆盖绝大多数移动端和 PC 端设备;③ 在嘈杂、音乐等复杂场景,稳定性好,不触发误调;④ 功耗低,音质无损;为了实现上述目标,我们基于 WebRTC 中 AGC 框架(具体细节可以查看《详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)》)做了如下主要优化:① 数字增益自适应方案:新增了 VAD/ 包络检测模块用于实时计算音频信号音量,用于快速确定最大的增益上限,从而指导当前数字增益调节;② 模拟增益自适应方案:基于检测到的人声 / 底噪音量,用于指导模拟增益调节,从而控制采集底噪和人声音量处于目标范围;③ 场景自适应方案:新增语音 / 嘈杂 / 音乐等多任务检测模块,动态估计当前嘈杂声水平、音乐等状态,用于激活相应的调节策略,使算法适应当前绝大多数应用场景。④ 音频统计数据建设:新增了人声 / 噪声音量统计等数据和事件检测,为其他模块提供准确的数据支持同时,也通过数据上报通道完善埋点,丰富后台仪表盘。

AliAGC 算法效果

全场景自适应,AliAGC 算法的后续优化目标

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:centos使用阿里云ossfs工具挂载远程bucket目录
下一篇:Java实现截图小工具的完整代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~