打破传统降噪技术 看网易云信在语音降噪的实践应用
本文简述了常见的传统语音降噪与 AI 降噪技术,以及网易云信在该领域的应用。
导读
随着音视频会议、娱乐互动直播、在线教育产品的火热发展,产品中令人愉悦的音效音质体验是必不可少的。但在音视频实时通信中,难免会遇到各种我们不希望出现的声音,例如电流声、键盘敲击声、嘈杂声等,这些统称为噪声。抑制这些声音的技术为降噪。本文我们将从语音降噪的概念入手,详细分析常见的几种语音降噪技术实现以及网易云信在语音降噪上的应用。
什么是语音降噪
我们先来看看什么是语音降噪。语音降噪(或语音增强)是指当语音信号被各种各样的背景噪声干扰、甚至淹没后,尽可能地从带噪语音信号中提取有用语音信号(或纯净语音信号),抑制或降低噪声干扰的技术。语音降噪有两个主要作用:
- 降低背景噪声干扰,改善语音质量,提升听者的舒适感
- 提高语音信息传达的可懂度
语音降噪分类
语音降噪可以从不同的维度进行划分,一般可以从录音的通道数或者降噪方法有无监督进行划分,下面我们主要分析一下这两种划分情况。
按通道数划分
依据采集语音时麦克风数量的不同,划分为单通道方法和麦克风阵列方法。
单通道方法的语音降噪对单个麦克风录制的语音信号进行处理,只利用了时域与频域的信息,其对硬件成本要求较低,但是由于缺少空间信息,降噪更为困难。
麦克风阵列语音降噪对麦克风阵列采集的语音信号进行处理,不仅利用了时域与频域信息,还利用了空间信息,因此在抑制特定方向的干扰和对不同声源进行分离等方面具有优势,可以在更复杂声学环境和远场环境中实现语音增强。
在音视频会议、直播等场景中,多使用 PC 端、手机设备,是典型的单通道语音降噪场景,云信目前也主要提供单通道的语音降噪能力。
按研究思路不同划分
从研究思路不同进行划分,音频降噪算法可以分为传统信号处理方法与深度学习方法。这两种方法各有优劣,主要区别有以下几点:
原理上的区别
- 传统信号处理算法大多基于物理和数学原理推导,这些原理是基于人类的认知发展而来的,适用性强,所以系统一般有比较好的鲁棒性。
- 深度学习算法更多是利用大量的语音数据或噪声数据,训练网络学习相关的特征从而实现降噪,性能的决定因素来自于训练集的大小、训练集的代表性、使用的模型、训练过程和准则等,性能的变化范围较大,系统在新环境下鲁棒性较差。
假设上的区别
- 传统信号处理算法为了简化计算或获得解析解做了很多假设和简化,这可能会限制语音降噪的上限,难以处理非平稳噪声。
- 深度学习算法通常不需要这些假设,其核心特定就是模型是复杂非线性的,因此在大量训练数据和较好模型设计的前提下有望取得更好的性能。
使用环境的区别
- 传统信号处理方法一般具有小计算量、低延迟等优势,容易满足实时性要求。
- 基于深度学习的方法往往模型较大、计算资源要求较多,一方面会限制其在计算资源有限的系统中的使用,另一方面难以保证实时通信需求。
接下来我们将对这两类降噪方法进行介绍与分析。
传统信号处理方法
传统单通道降噪方法类别
传统单通道降噪经过几十年的发展,种类繁多,主要有谱减法、维纳滤波、子空间法、基于最小均方误差的语音幅度谱估计方法等。
谱减法基于一个假设:噪声是加性噪声且具有平稳性,因此在初始的非语音段音频中估计出噪声谱,再从带噪语音谱中减去估计的噪声谱就可以得到干净的语音谱。然而,该减法处理的代价在于过多减去噪声谱则会去掉部分语音信号;过少减去则会残留噪声,将产生令人反感的音乐噪声。
维纳滤波方法对语音信号复频谱生成了一个线性估计器,该估计值在均方意义上性能最优。维纳滤波方法不会产生音乐噪声,使处理后语音信号听起来更为舒适,但是它是对信号平稳条件下的最小均方误差估计,因此对于非平稳噪声抑制效果不佳,而且容易造成语音失真。
子空间算法将带噪语音信号的向量空间分解为信号子空间与噪声子空间,尽可能保留信号子空间分量且去除噪声子空间的分量,能够在一定程度上抑制噪声,但是子空间法需要对每一帧语音进行奇异值分解或特征值分解,计算代价高,不适用于实时语音降噪。
基于最小均方误差的语音幅度谱估计算法是传统语音降噪算法中具有革命意义的方法,于1984年 由Ephraim 和 Malah 提出。随后,考虑到人耳对语音频率的非线性感知,他们推导出基于最小均方误差的对数谱估计方法。2001 年,Cohen 提出最优改进对数谱幅度估计方法,它的设计准则是最小化干净对数谱与估计对数谱的误差,首先利用最小值控制递归平均方法估计噪声,再依次估计先验、后验信噪比、语音存在概率,最后计算频谱增益函数估计出干净语音。此后,改进的最小值控制递归平均方法估计噪声被提出,具有估计误差更小且对非平稳噪声跟踪更快的特点,此方法得到了广泛应用。
传统降噪的实现
目前业界常用的开源算法之一是 WebRTC 中噪声抑制模块算法,其核心思想是采用维纳滤波器抑制估计出来的噪声。
其算法流程图如图所示:
- 信号分析:对输入帧语音进行加窗,快速傅里叶变换(FFT)得到频域数据。
- 噪声估计与抑制:使用分位数噪声估计进行初始噪声估计、后验和先验 SNR 的判决引导更新、语音/噪声概率计算,概率计算是基于似然比因子进行的。似然比使用后验 SNR、先验 SNR 以及语音概率密度函数模型,还有特征建模、噪声估计更新并应用维纳滤波增益滤波器确定的概率而确定的。
- 信号合成:将频域数据通过 IFFT、窗口合成转为时域数据。
WebRTC 降噪算法对于平稳背景噪声(如风扇、家用电器等噪声)具有良好的抑制效果,但对于低信噪比和瞬变噪声场景效果不佳。
网易云信在 WebRTC 噪声抑制模块基础上自研了活动检测(VAD)算法,区分语音与噪声,并且以此调整噪声估计方法,优化了噪声收敛时间与降噪力度。
深度学习方法
传统信号处理方法具有计算量小、可实时降噪处理的优势,但是难以处理非平稳噪声场景,而实际会议中,嘈杂噪声、键盘敲击声等非平稳噪声是用户痛点,极大的影响听感舒适度。近年来,深度学习方法显著提升了有监督任务性能,在语音降噪任务中开始出现一些数据驱动类算法(即 AI 算法)。相较于传统信号处理方法难以处理多样性、突发性非平稳噪声的弊端,深度学习方法在大量训练数据和较好模型设计的前提下能够取得更好的降噪性能。
深度学习方法类别
基于深度学习方法大致可分为三类,基于频谱映射的方法、基于时频掩码的方法、端到端方法。
- 基于频谱映射的方法,主要通过深度神经网络强大的非线性建模能力来建立带噪语音谱参数与纯净语音谱参数之间的映射关系。
- 基于时频掩码方法,其核心思想是通过训练深度神经网络预测时频掩码,它反映了各个时频单元上对噪声的抑制程度,然后将预测的掩码应用于输入带噪语音的频谱来重构纯净语音信号。常见的时频掩码有理想二值掩码、理想比例掩码、相敏掩码、复比例掩码等。
- 端到端语音增强,则是直接在时间域波形级上进行操作,通过模型直接输入带噪语音波形得到增强后波形。
基于深度学习的降噪方法(AI 降噪)能够取得更好的降噪性能,但是其模型较大、计算复杂度高。对于运行在移动终端的实时算法来说,计算复杂度需要满足实时性、CPU 占用率、内存占用率等必须比较小。一般而言,模型的性能消耗与其输出效果,综合来看是一种均衡的关系。然而在降噪场景下,算法既需要长时间实时运行,又需要保证算法效果能够应对复杂多变噪声场景,这对现有降噪技术提出了一定的挑战。
网易云信自研 AI 降噪算法
网易云信自研 AI 降噪算法将传统信号处理方法与深度学习类方法相结合,利用私有化大数据集训练模型,并且采用了轻量级模型设计与模型裁剪等手段, 节省计算资源,支持移动端实时增强。它可以有效抑制传统降噪算法解决不了的嘈杂噪声、键盘声、鼠标声等突发噪声,同时也能够提升对于平稳噪声抑制,提取更清晰的人声。
下面是一个案例展示网易云信自研 AI 降噪算法效果,左图为是办公室场景下带噪语音波形图与语谱图,右图为降噪后波形图与语谱图:
总结
本文简述了常见的传统语音降噪与 AI 降噪技术,以及网易云信在该领域的应用。传统降噪技术对于平稳噪声处理良好,但对于非平稳,突发的声音的降噪往往无能为力。
网易云信提出自研 AI 降噪算法,充分利用深度学习网络对语音和噪声特征的学习能力,有效抑制环境中的各种噪音。今后,网易云信将在 AI+实时音频处理上持续推进研究,致力于为用户提供更好的音频通话体验。
作者介绍
飒飒,网易云信音视频算法工程师,主要从事噪声抑制、回声消除、音视频语音增强等相关工作,目前负责网易云信音频前处理噪声抑制算法开发与优化。