作者:孟赛斯
前言
音频品质的优化是一个简单的系统工程,而降噪是这个系统工程中的一个重要环节,传统的降噪技术通过几十年的倒退曾经陷入了瓶颈期,尤其是对非安稳噪声的克制越来越不能满足新场景的需要。而近几年以机器学习/深度学习为代表的AI技术的崛起,为非凡场景下的音频降噪带来了新的解决方案。声网Agora 随同着在线音视频直播服务的倒退逐步造成了本人的积淀,本文是声网Agora 音频技术团队出品的非凡场景下的音频测评系列文章──AI降噪篇。因为业界对于音频的评估规范尚存在不同的意见,因而声网Agora 的实际更并重从有参到无参的工程化落地,在此抛砖引玉、恳请业界同仁多加批评指正。
背景介绍
作为开发者,咱们心愿为用户提供高清晰度和晦涩度、高保真音质的实时互动体验,但因为噪声无时无刻的存在,使得人们在通话中受到烦扰。不同场合领有的噪声也是不同的,噪声能够是安稳的也能够是非安稳或者瞬态的,安稳的噪声是不随工夫的变动而变动,比方白噪声;非安稳的噪声随着工夫的变动而变动,比方人说话声、马路噪声等等,瞬态噪声能够归为非安稳噪声,它是持续时间较短的、间歇性噪声,比方敲键盘声、敲桌子、关门等等。在理论互动场景中,当单方应用挪动设施通话时,一方处于饭店、吵闹的街道、地铁或者机场等嘈杂的环境中,另一方就会接管到大量含有噪声的语音信号,当噪声过大时,通话单方无奈听分明对方讲话内容,容易产生焦躁的负面情绪,影响最终用户体验。因而,为了减小噪声对语音信号的烦扰,进步用户通话的愉悦水平,咱们往往会做Noise suppression(NS,噪声克制)解决,目标是从带噪语音信号中滤除掉噪声信号,最大水平的保留语音信号,使得通话单方听到的语音都不受噪声的烦扰,一个现实的NS技术是要在去除噪声的同时保留语音的清晰度、可懂度和舒适度。
降噪的钻研最早开始于上个世纪60年代,通过了几十年的倒退,曾经获得了微小的提高,咱们把降噪算法大抵的分为以下几类。
(1)子空间办法,其根本思维是将含噪语音信号映射到信号子空间和噪声子空间,污浊语音信号能够通过打消噪声子空间成分和保留信号子空间成分的形式进行预计;
(2)短时谱减法,该办法假如噪声信号是安稳的且变动迟缓,应用带噪信号的频谱减去预计出的噪声信号的频谱,从而失去降噪后的语音信号;(3)维纳滤波器,算法的基本原理是依据最小均方误差准则,用维纳滤波器预计语音信号,而后从带噪信号中提取出语音信号;
(4)基于听觉掩蔽效应的办法,该办法模仿人耳的感知个性,对某一时刻某一频率确定一个人耳可感触到噪声能量的最低阈值进行计算,通过将噪声能量管制在该阈值以下,从而达到最大限度的掩蔽残留噪声和避免语音失真的目标;
(5)基于噪声预计的办法,该办法个别是基于噪声和语音个性的不同,通过VAD(Voice Activity Detection,语音端点检测)或语音存在概率对噪声成分和语音成分进行辨别,但当噪声与语音个性相似时,此算法往往不能精确辨别含噪语音中语音和噪声的成分;
(6)AI降噪, AI降噪技术能肯定水平上解决传统降噪技术存在的问题,比方在一些瞬态噪声(持续时间短、能量高的噪声,如关门声,敲击声等等)和一些非安稳噪声(随工夫变动快,随机稳定不可预测,如吵闹的街道)的解决上,AI降噪的劣势更显著。
无论是传统NS技术还是AI NS技术,咱们在产品上线时都须要思考包体积和算力影响,以便使用于挪动端和loT设施,即要在保障模型是轻量级的根底上还要最大水平地保障NS性能,这也是理论产品上线最具挑战的中央之一,其中,模型的量级在上线后曾经能够失去保障,那么NS的性能是否可能达标呢?这里咱们把重点放在如何评估NS的性能上,针对NS的调参、NS的重构、新NS算法的提出、不同NS性能的比照,咱们如何站在用户体验角度去评估NS技术的性能呢?
首先,咱们把测评NS的办法分类为主观测试方法和主观测试方法,其中主观测试又分为侵入式(Intrusive)和非侵入式(Non-intrusive),或者叫做有参的和无参的,上面解释一下其含意和优缺点。
形式 | 含意 | 优缺点 |
---|---|---|
主观测试 | 主观评估办法以人为主体在某种预设准则的根底上对语音的品质作出主观的等级意见或者作出某种比拟后果,它反映听评者对语音品质好坏的主观印象。个别的,采纳相对等级评估(Absolute Category Rating, ACR),次要是通过均匀意见分(MOS)对音质进行主观评估。这种状况下没有参考语音,听音人只听失真语音,而后对该语音作出1~5分的评估。 | 长处:间接反映用户体验;毛病:人力老本高,测试周期长,可重复性差,受个体主观差别影响。 |
主观测试 | Intrusive:依附参考语音和测试语音之间某种模式的间隔特色来预测主观均匀得分(MOS)分。如大部分文献及Paper中测评本身NS算法都是利用PESQ、信噪比、分段信噪比、板仓间隔等等。 | 长处:可批量自动化测试,节约人力老本和工夫老本;毛病:(1)不能齐全等同于用户主观体验;(2)大部分主观指标只反对16k采样率;(3)要求参考信号与测试信号之间必须按帧对齐,而实时RTC音频不免受到网络的影响而导致数据无奈按帧对齐,间接影响主观指标的准确性。 |
Non-intrusive:仅根据测试语音自身来预测语音的品质。 | 长处:无需原始参考信号间接预测语音品质,可实时测评RTC音频品质毛病:技术要求高,模型建设有肯定的难度 |
咱们认为主观测试能够间接反映用户体验,而主观测试后果和主观测试后果统一,则能够证实主观测试的正确性,此时,主观测试也可反映用户体验。上面咱们看看声网是如何评估NS的性能的。
声网NS测评
咱们正在搭建一套全方位的、牢靠的、可长期依赖的NS测评零碎,咱们置信它能够应答将来任何带噪场景(目前可笼罩超过70种噪声类型)和任何NS技术,并且咱们不指定特定的测试语料、采样率和无效频谱,任何人的谈话内容都能够作为被测对象。以这个目标作为出发点,咱们对现有的NS测评技术进行了验证,发现它们并不可能笼罩咱们的所有通话场景、也不能齐全笼罩咱们测试的噪声类型、更不能代表主观感触。因而,咱们拟合了新的全参考NS指标,同时用深度学习的算法去做无参考的模型,两种计划同时进行。上面简略论述一下现有的NS测评指标、咱们的验证办法、以及咱们如何去做全参考和无参考的NS测评模型。
1.现有的NS测评指标:通过调研大量文献、权威性Paper和一些开源网站如https://github.com/schmiph2/pysepm,并依据咱们理论的场景需要,咱们开发了一个用于测评NS的主观指标库,其中蕴含像常见的PESQ、语音分段信噪比SegSNR、短时可懂度STOI等,以及参考语音和测试语音之间某种模式的间隔特色,如倒谱间隔(Cepstrum Distance, CD)能反映非线形失真对音质的影响、对数谱间隔(Log Spectral Distance,LSD)用于刻画两个频谱之间的间隔度量、NCM (Normalized Covariance Measure)评估办法是计算污浊语音信号与含噪语音在频域内的包络信号之间的协方差。综合测度Csig、Cbak、Covl别离示意predicted rating [1-5] of speech distortion、predicted rating [1-5] of noise distortion、predicted rating [1-5] of overall quality,是通过联合多个主观测度值造成综合测度,应用综合测度的起因是,不同的主观测度捕获失真信号的不同特色,因而采纳线性或者非线形的形式组合这些测度值可能显著改善相关性。
每个指标对应着NS前后音频的某些特色的变动,每个指标从不同的角度去掂量NS的性能。咱们不禁有个疑难?这些指标是不是能与主观感触画上等号?除了算法上有合理性,咱们怎么确保它跟主观的统一?是不是这些主观指标没问题了,主观测进去就不会有问题?咱们怎么确保这些指标的覆盖性?
2.咱们的验证办法:为了验证咱们建设的主观指标库的准确性及与主观体验的相关性,咱们做了基于众包的主观音频测试,并开发了一款专门用于众包主观标注的APP,整个流程咱们遵循了P808,P835以及借鉴NS挑战赛,对测试数据、时长、环境、设施、测试人员等等都做出了要求。咱们次要关注三个维度,人声清晰度SMOS,噪声舒适度NMOS,整体品质GMOS,范畴都是1~5分,上面给出对应的MOS评分相干形容和APP页面设计。
那么主观标注的后果与之前咱们提到的主观指标库中的指标之间有多大的相关性呢?咱们对主观指标库中所有主观指标进行了统计,这里咱们只给出PESQ与主观标注的PLCC(Pearson linear correlation coefficient):
PLCC | PESQ |
---|---|
主观SMOS | 0.68 |
主观NMOS | 0.81 |
主观GMOS | 0.79 |
这里的主观SMOS、NMOS、GMOS是由200条数据/每条数据32人标注的均值计算得出。
3.如何去做全参考和无参考的NS测评模型:随着主观标注数据量的累积,咱们发现现有的指标精度不足以笼罩咱们的所有场景、噪声类型、更不能代表主观感触。因而咱们拟合了新的综合测度MOS分,用于测评NS的性能。
咱们的计划一是全参考模型,即以主观指标库中的指标作为特色输出,众包标注的后果当作标签训练三个模型,三个模型的输入别离是掂量语音、噪声、整体的分值。
以下是由800条数据组成的数据集,随机抽取70%的数据作为训练集,30%的数据作为测试集;模型选取GBDT(Gradient Boosting Decision Tree)对GMOS的训练和测试状况,下图上半局部是训练集的real GMOS和训练好模型后模型预测训练集的predicted GMOS,下半局部是测试集的real GMOS和训练好模型后模型预测测试集的predicted GMOS,其中测试集的real GMOS和predicted GMOS之间的PLCC可达0.945,SROCC(Spearman rank-order correlation coefficient)可达0.936,RMSE(Root Mean Square Error)为0.26.
咱们的计划二是无参考模型,因为全参考的主观指标要求参考信号与测试信号之间必须按帧对齐,而实时RTC音频不免受到网络的影响而导致数据不按帧对齐,间接影响主观指标的准确性。为了防止这一因素的影响,咱们也在做无参的SQA(Speech Quality Assessment)模型,目前的技术外围是将音频转换为Mel频谱图,而后对Mel频谱图进行切割,利用CNN去提取每个切割后segment的品质特色,接着利用self-attention对特色序列在工夫上建模,实现特色序列在工夫上的交互,最初通过attention模型计算每个segment对整个MOS分的贡献度,从而映射到最终的MOS。
这里咱们给出无参SQA模型目前的训练精度,训练集共1200条带噪声数据,70%做训练集,30%做测试集,横坐标示意epoch,蓝色的线示意训练loss随着epoch的变动,红色的线示意训练集随着epoch的增大,和训练集标签的PLCC,绿色的线示意测试集随着epoch的增大,和测试集标签的PLCC,咱们能够看出目前离线的成果是很现实的,后续咱们将减少更多场景的数据进行模型训练。
将来
将来,咱们会间接进行端到端的音频品质评估(Audio Quality Assessment,AQA),而噪声只是音频中影响主观体验的一个因子。咱们会在线上搭建一套残缺的实时音频评估零碎,这个评估零碎将是长期牢靠的、高精度的,用于评估用户在实时音频互动中产生的讨厌或愉悦情绪的水平。整个流程包含建设计划、数据集的构建、众包标注(标注规范的建设、标注后数据的荡涤与筛选、数据分布验证)、模型训练与优化和上线反馈等等。尽管当初咱们面临着一些挑战,但只有制订出smart指标,那么这个指标就肯定能实现。
Dev for Dev专栏介绍
Dev for Dev(Developer for Developer)是声网Agora 与 RTC 开发者社区独特发动的开发者互动翻新实际流动。透过工程师视角的技术分享、交换碰撞、我的项目共建等多种形式,汇聚开发者的力量,开掘和传递最具价值的技术内容和我的项目,全面开释技术的创造力。