共计 5024 个字符,预计需要花费 13 分钟才能阅读完成。
作者:孟赛斯
前言
音频品质的优化是一个简单的系统工程,而降噪是这个系统工程中的一个重要环节,传统的降噪技术通过几十年的倒退曾经陷入了瓶颈期,尤其是对非安稳噪声的克制越来越不能满足新场景的需要。而近几年以机器学习 / 深度学习为代表的 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 开发者社区独特发动的开发者互动翻新实际流动。透过工程师视角的技术分享、交换碰撞、我的项目共建等多种形式,汇聚开发者的力量,开掘和传递最具价值的技术内容和我的项目,全面开释技术的创造力。