Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

网易云信神经网络音频降噪算法:提升瞬态噪声抑制效果,适合移动端设备

机器之心专栏

网易云信音频实验室
网易云信音频实验室自主研发了一个针对瞬态噪声的轻量级网络音频降噪算法(网易云信 AI 音频降噪),对于 Non-stationary Noise 和 Transient Noise 都有很好的降噪量,并且控制了语音信号的损伤程度,保证了语音的质量和理解度。


基于信号处理的传统音频降噪算法对于 Stationary Noise(平稳噪声)有比较好的降噪效果。但是对于 Non-stationary Noise(非平稳噪声),特别是 Transient Noise(突发噪声)降噪效果较差,而且有些方法对于语音也有较大的损伤。随着深度学习在 CV(Computer Vision)上的广泛应用,基于神经网络的音频降噪算法大量涌现,这些算法很好的弥补了传统算法对于 Non-stationary Noise 降噪效果不好的问题,在 Transient Noise 上也有较大的提升。

但是,基于神经网络的音频降噪在计算复杂度上存在挑战。虽然我们生活中的终端设备的计算能力在不断提升,比如个人笔记本、手机等,但是大模型的深度学习算法,很难在绝大部分设备(特别是不含 GPU 的设备)上运行。目前也有一些开源的、基于神经网络的低开销降噪算法[1,2,3],能够在大部分终端设备上达到实时运行的标准。但是这些算法的运算量对于 RTC(实时通信)的 SDK 依然太大,其原因是 SDK 中包含了大量算法,每个子算法的开销都必须严格把控,才能保证整个 SDK 的运算开销在一个合理范围,并且能够在大部分终端设备上运行。

针对上述挑战,网易云信音频实验室自主研发了一个针对瞬态噪声的轻量级网络音频降噪算法网易云信 AI 音频降噪),对于 Non-stationary Noise 和 Transient Noise 都有很好的降噪量,并且控制了语音信号的损伤程度,保证了语音的质量和理解度。与此同时,云信的 AI 音频降噪将计算开销控制在一个非常低的量级,达到了和传统算法接近的计算量,比如 MMSE [4]。目前,网易云信的 AI 音频降噪已经成功落地在其自研的新一代音视频技术架构(NERTC)中,在大幅提升降噪效果的同时,也在大多数终端机型上成功应用,包括了大部分中低端机型。

本文介绍的内容,即网易云信音频实验室发表于 INTER-NOISE 2021 的《A Neural Network Based Noise Suppression Method for Transient Noise Control with Low-Complexity Computation》一文,本篇文章详细介绍了在基于深度学习的音频降噪算法中,如何在低计算开销的情况下,实现对不同噪声,包括 Transient Noise 的抑制。

方法

在介绍算法细节之前,我们需要先在数学上来构建一下问题模型。在公式(1)中,x (n) 、s (n) 、和 d (n)分别代表带噪信号、干净语音信号和噪声信号。

                  

带噪信号x (n)代表麦克风在实际场景中所收集的信号,其中n代表时域采样点。我们对公式(1)做一个 STFT(短时傅里叶变化)得到(2),
                  


其中分别代表x (n) 、s (n)和 d (n)的频域信号,i代表第时域帧,k代表频点。由此我们可以得出公式(3),
                                                 


代表估计出的语音信号,表示估计出的 Gain 大小。至此,我们的降噪问题就是需要去估计出一个准确的

特征表示

为了要实现低计算量的目的,我们需要最大限度的去压缩模型大小,这样必然导致在同等状况下,压缩后模型的表现会更差。为了弥补模型变小后带来的效果下降,该研究从输入特征(Input Feature)入手,选择更能代表语音特性的特征,从而去区分语音和噪声。当然特征大小(Feature Size)也需要严格控制,共同保证低计算量的要求。现在开源的单通道深度学习降噪算法中,比较普遍的 Feature 是用信号的 Magnitude 和 Phase,或者直接用频域信号的 Complex Value。这样的做法好处是可以保证模型能获得所有的频域信息,没有任何信息丢失;但是缺点是这些频域信息对于语音信号和噪声信号的分离度不够,而且输入的参数量偏大。方法 [1] 中用到了 Pitch Correlation(基音相关性),
                


表示求信号的相关性,表示 Pitch Correlation。Pitch Correlation 能够突出语音信号的特性,能在噪声中将语音信号分离出来。Pitch Correlation 在平稳噪声上有着很好的表现,但是一旦出现非平稳噪声,由于 Pitch Correlation 只包含帧内信息,这时候就无法区分分平稳噪声和语音了。还有一种情况,当 SNR(信噪比)比较小时,时域的自相关性受噪声影响大,容易导致其判断不准,从而产生误差。针对以上问题,我们提出了谐波帧间互相关性(Harmonic-Correlation),
                 


其中之前帧的 Magnitude。对于该研究分两步来讨论它的优势。首先,对频域 Magnitude()做自相关(Auto-Correlation)可以突出谐波特性(类似于 Spectral Sharpening 或者 Reverse Whitening),对于语音信号中的谐波特性,可以更容易的凸显出来。其次,把自相关换成和前帧的 Magnitude 做互相关(Cross-Correlation)可以增加帧间的信息,语音信号的谐波相比一些突发噪声具有更长的连续性,以此可以将一些突发噪声从语音信号中区分开。

另外一个和相似的特征是 Coherence,公式如下,
                         


                               


可以看出,Coherence 也可以突出信号中的谐波信息,不同之处在于它也是基于时域的相关性,而且增加了归一化处理。

损失函数

Valin 在 [1] 中提出了一种损失函数
                       


其中代表 Gain 值的 Ground Truth,代表估计出的 Gain 值。通过平方的 Error 值,在训练过程中不断调整模型收敛方向,并且通过四次方的 Error 值去加强微调能力,让收敛后的模型最终的损失能够进一步减小。



在研究过程中研究发现,虽然有着较好的调节能力,但是存在两个问题。第一个问题是容易陷入局部最小值,由于平方过后 Error 值偏小,导致很难逃出这个区间。第二个问题是四次方的部分有时在实际信号中不好控制,在最终收敛时会因为C值过大而产生误差。因此,该研究在的基础上提出了
                               


中,我们可以根据需要去调节的大小,从而减小陷入局部最小值的概率,并且最大程度的减小收敛后的最终误差。经过计算,的值从 0 增加的 5 的时候,最终 Loss 值达到最小,但是由于的增加会导致计算量的增加,最终收益最大的值为 3。

学习模型以及实时处理  

该研究沿用了 [1] 中 RNN-GRU 模型,原因是 RNN 相比其他学习模型(例如 CNN)携带时间信息,可以学习到数据中前后在时序上的联系。该研究认为这种联系在语音信号上非常重要,特别是在一个实时的、帧长相对较短的语音算法中。模型的结构如 Fig.1 所示。训练后的模型会被嵌入网易云信的 SDK 中,通过读取硬件设备的音频流,对 Buffer 进行分帧处理并送入 AI 降噪预处理模块中,预处理模块会将对应的 Feature 计算出来,并输出到训练好的模型中,通过模型计算出对应的 Gain 值,对信号进行调整,最终达到降噪效果(Fig.2)。

Figure 1: GRU模型。


Figure 2: 训练和实时处理框图。


 测量结果和讨论

在测试阶段,该研究首先建立了和 Training/Validation 完全不同的一个测试集。在对比项上,选择了 [4] 作为传统信号处理的降噪算法代表。在基于深度学习的算法中,研究者首先选择了 RNNoise[1],以此来评估优化所带来的效果提升。其次,该研究选择了 DNS-Net[2]和 DTLN[3]当下两个热度很高的实时 AI 降噪算法来作为对比项。

(a)Noisy signal (5dB SNR)




Fig.3 展示了一段 Keyboard Noise 下的降噪前后对比。Keyboard Noise 作为 Transient Noise 中的一种,是在 RTC 场景中非常容易遇到的噪声。比如在一个在线会议中,会议中的任意一位参会者在用键盘记录会议信息时,都会让这个会议陷入键盘噪声中。Fig.3 展示的是在 5dB SNR 场景下的情况。从图中可以看出,网易云信 AI 降噪在非语音部分,对键盘噪声的压制极大,基本全部消掉;在和语音重合部分,虽然没有完全消掉,但是也有明显抑制,并且保护了语音质量。

在 RTC 场景中,当降噪后 SNR 达到 20dB 以上,3-4dB 的差值对于听感来说差异较小。所以该研究在调试中把降噪量稳定在一个范围内,然后尽量去追求更高的语音理解度(STOI[5])和语音质量(MOS[6])。Table 1 展示了云信 AI 降噪和对比项之间的量化对比。从结果中可以看出,网易云信自研的 Feature 和 Loss Function 在整体上呈现对语音保护更好,降噪量略小。其中,对语音质量保护最好,在降噪量上也在可接受的范围内。Table 2 展示了在不同噪声类型上的表现。在 Keyboard 噪声中,虽然在低 SNR 的情况下降噪量提升不明显(RTC 场景中,持续低信噪比的 Transient Noise 场景出现频率较低),但是在 10dB SNR 以上的场景中,降噪量和其他噪声接近,并且保持着很好的语音质量。该研究也定性的测试其他的 Transient Noise,降噪量和语音质量都保持在很稳定的水平。




网易云信的 AI 降噪在 10ms 的音频帧数据(16kHz 采样率)中只需要约 400,000 次浮点计算,经过云信自研的 AI 推理框架 NENN 加速,在 iPhone12 上每 10ms 的运算平均时间低于 0.01ms,峰值时间低于 0.02ms,CPU 占比小于 0.02%。 

总结

综上所述,网易云信 AI 降噪实现了一个轻量级的实时神经网络音频降噪算法。它在 Stationary 和 Non-Stationary Noise 上都有很好的效果,对于业界的难点 Transient Noise 也有很好的抑制效果;与此同时,相较同类 AI 降噪算法,云信 AI 降噪对语音质量有着更好的保护。

自成立以来,网易云信音频实验室除了保障产品的算法研发和优化需求之外,已提交专利数十项。接下来,网易云信音频实验室将在基础算法、模型方面加强研究,结合具体行业和应用场景,以技术创新引领产品创新。

参考文献

1.J.M. Valin, "A hybrid DSP/deep learning approach to real-time full-band speech enhancement," 2018 IEEE 20th International Workshop on Multimedia Signal Processing (MMSP). IEEE, 2018.
2.Y. Xia, et al, "Weighted Speech Distortion Losses for Neural-Network-Based Real-Time Speech Enhancement," ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
3.Westhausen, Nils L., and Bernd T. Meyer. "Dual-signal transformation lstm network for real-time noise suppression." arXiv preprint arXiv:2005.07551 (2020).
4.Y. Rao, Y. Hao, I.M. Panahi, "Smartphone-based real-time speech enhancement for improving hearing aids speech perception," 2016 38th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC). IEEE, 2016.
5.C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, “A short-time objective intelligibility measure for time-frequency weighted noisy speech,” in IEEE International Conference on Acoustics, Speech and Signal Processing, pp. 4214– 4217, 2010.
6.Nilsson, Michael, Sigfrid D. Soli, and Jean A. Sullivan. "Development of the Hearing in Noise Test for the measurement of speech reception thresholds in quiet and in noise." The Journal of the Acoustical Society of America 95.2 (1994): 1085-1099.

哈工大车万翔教授带你学习NLP新范式:基于预训练的方法


8月19日19:00-20:30,车万翔老师带来直播分享,主题为自然语言处理新范式:基于预训练的方法。本次分享介绍预训练模型的演化过程、预训练模型的最新研究进展和自然语言处理领域今后的发展趋势。

直播赠书:在本次直播过程中,我们将从所有在直播间评论区提问的小伙伴中随机抽出10位送出车万翔老师等所著的《自然语言处理:基于预训练模型的方法》。


点击阅读原文,直达直播间。



入门
1
相关数据
网易机构

网易成立于1997年6月24日,是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。

https://www.163.com/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

信号处理技术

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~