火山引擎 RTC 音频 AI 降噪的应用与实践

从视频会议到远程医疗,从连麦开黑到陪伴社交,疫情常态化加速了线下活动线上化,逐渐改变了人们的生产生活方式。其中,音频质量很大程度上影响着通话体验,而噪声又很大程度决定音频质量。比如,居家办公场景,就流传着“居家办公,必有邻居装修”的定律。也是因为装修声会很大程度影响参与效率,所以对居家办公的同学带来了很大的影响。火山引擎 RTC,集成了自研的深度学习降噪方案,来应对游戏、互娱、会议等实时音视频沟通场景下的噪声影响。

让我们看一下 RTC AI 降噪在会议、游戏、居家场景下的降噪效果对比。

会议场景

游戏场景

居家场景

通过上面的对比效果可以明显看到不同噪声对线上生产、生活场景的影响,以及通过 AI 降噪达到的降噪效果。RTC AI 音频降噪采用了经典的CRN 络结构【参考文献 1】作为降噪框架。CRN 络结构由 Encoder、Recurrent Layer 和 Decoder 三部分组成。这种结构兼具了 CNN 的深层特征抽取能力和递归 络的记忆能力,表现出了比纯 CNN 络或者纯 GRU 络更好的降噪能力。

CRN 络结构

在具体落地到产品的过程中,我们在上述基础模型中,解决了实际场景中出现的五大问题:

1. 如何应对各种复杂的设备,多样的环境

2. 如何在满足低延时条件下,提升模型效果

3. 如何在满足低计算量条件下,提升模型效果

4. 如何平衡强降噪和高保真

5. 如何应对对音乐的损伤

通过解决上述问题,可以有效提升算法的速度、实时性和稳定性,保证在语音无损伤的情况下最大程度地实现噪声抑制,提升实时音视频场景,特别是会议、音乐等复杂场景下的互动体验。下面具体展开讲下我们是分别如何解决上述五大问题的。

一、训练数据增广

在我们实际生活中,降噪算法所需要面临的场景是非常复杂多样的。

拿“会议”场景举例,开会环境的多样性给降噪算法带来了不少挑战:在座位上开会,设备会采集到邻座工位上的说话声,此时我们期望算法能去除一定的背景说话人声;在会议室中开会,由于说话人离麦克风的距离各不相同,此时降噪算法面临着多人声、远距离拾音、混响的难题;如果是在公交、地铁、高铁上开会,除了人声,还会引入车辆信号、 站等声音。还有比如在室内玩游戏使用游戏语音的例子,此时,场景中的噪声除了环境噪声,还有敲击屏幕或键盘、拍桌子等各类噪声,此时就需要降噪算法能够尽量抑制足够多类别的噪声。

不仅如此,在不同环境下常用的设备也是不尽相同的。常用设备主要可以归类为以下几类:

除了使用场所有所差别,另外一个主要差异点在于不同设备的采集特性不同,并且自带了不同的音频前处理算法,以现在主流的安卓手机为例,往往出厂就自带了强抑制降噪算法,但在实际体验中仍然存在噪声较多以及人声损伤问题,那么就需要我们的降噪算法去适配这一类“二手”音频数据,包括需要去覆盖残留形态的噪声数据,以及损伤形态的人声数据。

除此之外,个人外接设备也需要特别小心,比如有线耳机可能会带来高频噪声,而蓝牙耳机可能引入连接不稳定的问题,并且降噪耳机还携带有额外的音频处理能力。

下为耳机杂音噪声降噪前后的表现。

【点击进入 《火山引擎 RTC 音频 AI 降噪的应用与实践 》原文观看演示音视频】

我们将在数据增广过程中着重应对这类问题。将增广中噪声的类型打上标签、对不同的场景使用不同的增广配置文件即可配置不同的训练增广方案。下面简单说明一下我们常用的训练数据增广手段。

基本增广手段包括:

  • 音量调整:现实生活中采集到的音量大小往往不同,用于模拟不同采集音量的情况;
  • 高低通滤波:不同设备的有效频率不同,如蓝牙耳机往往只有 4k 的有效频段;
  • 削波模拟:模拟爆音之后的音频效果;
  • 房间冲击响应:模拟不同房间下的混响场景;
  • 破音信号模拟:增加对丢帧信号的模

    声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

  • (0)
    上一篇 2022年8月12日
    下一篇 2022年8月12日

    相关推荐