写点什么

打破传统降噪算法,alidenoise的背后技术-金马国际

    • 2020 年 9 月 11 日
    • 本文字数:3539 字

      阅读完需:约 12 分钟

    打破传统降噪算法,alidenoise的背后技术

    近年电商直播越来越火热,同时移动端直播变得越来越普及,直播场景也越来越多样化,不再限于传统的直播间,开阔喧嚷的户外、喧闹的商场甚至是市场都可以变成主播直播的根据地。影响直播最终观感最直接的两个因素就是画面和声音,场景的复杂化对传统的实时音频信号处理算法提出了更大的挑战,其中最直观的一个现象就是,场景变吵了,声音听起来不干净,这就是音频 3a 算法中的降噪算法需要处理的问题。


    背景介绍


    户外旅行 &户外代购 &玉石市场


    传统降噪算法可以部分处理这种噪声,它的方法是:


    1. 对时域信号做短时傅里叶变换,就得到了信号的频域表现形式,对幅度谱平方得到信号能量;

    2. 在计算了带噪语音的幅度谱后,会借助 vad 模块的结果进行噪声谱 n 的估计,由计算出的功率谱和估计出的噪声谱来计算先验信噪比;

    3. 再经过变换得到增益函数,一般取维纳增益,将计算得到的增益函数乘以带噪语音的频域形式 再经过反变换,就得到了增强后的语音的时域信号。


    不难看出,这是一个比较复杂的信号分离任务,传统的信号处理方法通过一系列条件约束求得了最终的解析解或迭代解,一般假设噪声信号和语音信号之间相互独立,cosq 为 0,但这通常是不合理的假设,也影响了算法效果的上限;



    问题与挑战


    传统降噪算法面临的挑战如下:


    1. 非平稳突发性噪声抑制能力差,比如户外直播场景中突然出现的汽车鸣笛声,传统降噪算法就难以消除干净

    2. 传统算法增强后会有很多残留噪声,这些噪声会导致主观听感差,甚至影响语音信息传达的可懂度;

    3. 目前传统算法中求得解析解的过程中存在很多假设,难以适应复杂多变的实际场景,特别是瞬态噪声;

    4. 在低信噪比情况下,传统方法的降噪效果几乎是失效的,其中 vad 模块误判的可能性大大增加,尤其在噪声的能量大于语音的能量时,几乎无法将语音谱恢复出来,而这对天然能量就比较低的辅音结构来说是毁灭性的


    业界做法

    针对传统算法存在的弊端,业界在 2014 年开始探索数据驱动类算法,也就是深度学习相关的算法,比较典型的是 rnn noise 和 crnn 方法。


    rnn noise 是一种基于传统算法改进的混合方法。整个算法为了保证实时性,训练特征主要以传统信号的特征为主,(涉及 bark 域的能量和 pitch 域的相关能量系数、pitch_index 的值、带噪语音 bark 域的能量和带噪语音 bark 域倒谱相关的信息),一共 42 个,并没有采用深度学习算法中主流的自动提取特征机制,网络结构以 gru 为主,同时有一个副产物 vad 保证有效收敛,最终的输出为 bark 域的 22 个增益,经过插值平滑处理后与带噪信号的频域信号相乘,反变换后得到降噪后的时域语音信号。



    这个算法的核心优势是可实时,性能消耗低,降噪能力也有所增强,但语音损伤比较严重,经过分析,认为原因主要有三个:


    1. 数据集问题,rnnoise 的训练数据集中噪声质量是不高的,噪声中含有较多人声部分,这在一定程度上会导致语音损伤大的问题

    2. vad label 制作的不准确性,简单的采用一些能量判断法当做 vad 模块的 groundtruth,也会影响最终效果

    3. feature 只有 42 个,网络输出只有 22 个,这样的设计在降低运算量的同时会损失部分详细信息,是会影响最终的效果;


    crnn 方法一个典型的 end2end 的金马国际的解决方案,输入是 noisy 的频域幅度谱,输出直接是降噪后的频域幅度谱,然后结合 noisy 的相位谱,进行时域数据的合成。网络模型采用了 encoder lstm decoder 的架构,无论是语音分离还是增强,这都是比较主流的一种网络结构,同时为了做到原理上可实时,卷积全部使用了因果卷积,crnn 在整段增强时效果是非常好的,增强后的主观听感也很好。



    但存在的问题也比较大的问题:、


    1. 整段处理的输入无法满足流式处理的要求,在模型分帧后效果下降比较明显;

    2. 即使采用 cache buffer 的策略保证分帧后的效果,由于模型的感受野较大,性能开销也无法达到移动端实时的要求,同时,模型整段增强时本身消耗就比较大

    3. 中间存在 lstm 层,模型的轻量化比较困难;


    alidenoise

    alidenoise 是综合 rnnnoise 和 crnn 的一种自研算法,首先为了可实际部署,去除了中间的 lstm 层,此时如果训练目标还是具有时序关系的降噪后频谱,效果会大大受到影响,所以我们更改了降噪策略,进行反向降噪,改为 speech_based denoise method,只利用 cnn 较强的提取特征能力,学习比较有特色的语谱纹路,将输出抽象为传统信号处理中的先验信噪比这一概念,本质上也是一种增益,这一转化也有益于提升模型对未见噪声的泛化能力,可以通过大量纯净语音的训练反向应对未见过的噪声达到降噪的目的,在保证可实时处理方面,首先更改了模型 norm 的方式,由 layer norm 变为 frame norm,从原理上保证可实时处理,同时客观指标并没有下降,还有轻微的提升;然后在工程实践中,采用 cache buffer 策略,实现了 cnn 的流式处理,同时保证分帧后的效果,可以支持任意延时,这也是目前线上应用的版本。


    网络结构以 1d 卷积为主,同时加入了 res 结构,在每一个 blocks 中实现了三个卷积单元,通过调整 kernel size 实现不同维度的特征提取,将不同 blocks 连接起来,达到推进抽象特征的深入过程,最终得出期望的时频域上的先验信噪比。除此之外,我还进行了去除 seq_len,添加 highpass,更改数据混合方式,调整训练集中的噪声分布等改进项,从不同角度提升模型的训练效果



    为了节省计算资源,我们采用了模型裁剪手段:


    1. 把 neuron 或 weight 剪掉,使得网络变小。通过对网络的分析会发现有些 weight 基本为 0,对输出影响不大或有些 neuron 的 output 总是为 0,那这种情况下就可以把它移除。

    2. 使用更少的 bit 来表示权重

    3. 调整网络的结构设计,减少参数量

    4. 模型可以自适应,在资源不充足的情况下,也可以输出一个还不错的结果;在资源充足时就做到最好



    总结下来,传统降噪算法只能处理稳态噪声,非稳态突发噪声处理能力弱,但数据驱动类的算法稳态噪声及瞬时 非稳态噪声均可处理。在性能消耗上,传统算法是比较小的,数据驱动类算法会相对耗一些,为此,我们设计了小模型使用简单结构 以更好的发挥 mnn 的优化效果的策略为主,在实用性上,传统算法经验参数多,场景适应性差,而数据驱动类算法,场景适应性是比较好。


    算法效果


    我们看一下算法效果,客观指标主要通过 pesq 语音质量与 stoi 语音可懂度来衡量,我们构建了 ali_test_datasets,含有 1w 多条带噪语音,涵盖街道、咖啡馆等日常环境,分为四个子测试集,_itu 表示数据集中的纯净语音为 itu 标准测试序列,_objective 表示数据集中的噪声为 训练集中未见 但是同分布噪声,相对应的就是数据集中的噪声为训练集中未见且不同分布的噪声,环境噪声强度为-5 到 15db,最大降噪力度控制在-25db,我们和业界标杆的竞品进行对比,最终可以看到在 stoi 可懂度方面的提升中 ali_denoise 和竞品明显优于传统信号处理算法,而 ali_denoise 略高于竞品,在 pesq 语音质量方面的提升中, ali_denoise >竞品>rtc,同时在性能消耗方面,ali_denoise 可以支持 iphone6 及以上的机型,竞品目前可以支持 iphone8 及以上的机型。



    ali_denoise 算法在算法应用落地上主要具有 5 大优势:


    第一 利用开源的中英文纯净语音数据集、噪声集,自录噪声并进行数据清洗,同时针对淘宝直播场景构建突发瞬时噪声数据集,构建了我们私有化数据集


    第二 通过 cache buffer 策略,可实时输出增强后的语音,契合直播场景,同时支持任意延时


    第三 目前深度学习类的增强算法只支持 16khz,ali_denoise 支持 48khz 全频带语音增强处理,其中 0-16k 采用神经网络处理,16-48k 采用传统算法 神经网络混合方式处理


    第四 为了保证线上音视频同步,独立智能降噪模块,和采集线程解耦,iphone6 以上机型直播无异常;


    第五 由于采用了小型化模型设计和裁剪工作,性能消耗较低;




    受新冠疫情的影响,互联网进入全民直播大时代,教育直播,旅游直播,助农直播,电商直播,政务直播等空前兴起。团队研发的智能降噪技术应用到阿里集团内的多个场景。在助农直播中,我们的算法有效去除田间机械的噪声,还原清晰语音;在钉钉在线课堂中,我们智能降噪结合盲源回声消除,助力 2 亿中小学生在家上课,提供高质量的声音体验;在电商直播中,我们的算法支撑了海外代购,户外运动,乐器直播,音乐晚会等全场景语音处理需求。我们秉承“让声音更清晰,让沟通更有效”的理念,追求更高质量的语音体验。


    未来展望

    ai 实时音频处理这个方向其实还有很多可以探索的,在前端处理算法中,除了我们已经优化的 ans 算法外,aec 的非线性残留部分也可以结合深度学习类算法进行优化,可以将参考信号和观测信号的频域特征 concat 起来作为输入,观测信号的类 irm 指标作为输出,进而得到估计的近端信号;类似的任务还有啸叫抑制及后端处理算法中的带宽扩展、智能 plc 等等



    本文转载自公众号淘系技术(id:alibabamtt)。


    原文链接




    2020 年 9 月 11 日 10:083037

    评论

    发布
    暂无评论
    • 深度学习的性能优化和其它普通的机器学习模型类似,我们也可以从数据处理、网络模型本身,以及如何对神经网络进行参数调优这三个主要方面去考虑。

      2021 年 9 月 27 日

    • 本文介绍多样且复杂的场景下,深度学习如何帮助腾讯会议在实时通话中进行去混响、声音事件检测和回声消除。

    • 本文从技术的角度,以“软色情识别”为例,介绍爱奇艺的多模态低俗内容识别技术。

    • 泛娱乐直播被赋予了更多娱乐和社交的属性,只要你有一部能上网的手机,就可以随时随地发起或观看直播,而且今天的直播也不再满足于主播单向传播的模式,互动性和实时性更强,也为技术上带来了新的挑战。本文向你介绍如何快速搭建一个完整的移动端直播系统。

    • 深度学习是实现语音增强最主要的方法之一,¬帮助我们从带噪语音中提取尽可能纯净的原始语音,提高语音质量和可懂度。

    • 本文介绍腾讯会议如何通过对音频信号的处理持续保障高品质通话,提升沟通效率。

    • 社交网络一路走来,先是文字 表情,接着是图片 短视频,现在是音视频社交强势崛起并成为潮流的时代。音视频社交将是社交网络的发展趋势,毕竟音视频才是人类最自然的社交方式。在自然的社交环境中,回声是十分影响沟通体验的。而回声消除一直是音视频技术的难点。

    • 一场突如其来的疫情,让数以亿计的白领只能居家办公,云视频会议系统突然成为最重要的办公软件。腾讯会议在正式上线后,短短两个月时间内积累千万日活。除了时机,腾讯会议产品又为什么能脱颖而出呢?

    • 今天我们聊的是相对高阶的视听触协同设计背后人因。我们可以把视听触协同拆解为三种协同:视听协同、视触协同和声触协同。

      2021 年 3 月 10 日

    • 失真又称“畸变”, 指信号在传输过程中与原有信号或标准相比所发生的偏差。 在音乐后期处理方面,一种声音的输出波形与输入波形完全相同,那么这种声音就没有失真效果。但如果不能做到输出与输入的波形完全一样的现象叫做失真。

      2020 年 12 月 24 日

    • 音频变速变调在不同的场景可以分为变速不变调、变调不变速以及变调又变速3种应用。语音变速是指把一个语音在时域上拉长或则缩短,而语音的采样率、基频以及共振峰都没有发生变化。语音变调是指把语音的基因频率降低或升高,共振峰做出相应的的改变,采样

    • store免费游戏总榜第一位。作为一代玩家的青春记忆,早在游戏发布前,《qq炫舞》手游全渠道预约人数就已突破2000w,其火爆程度不亚于腾讯旗下两款吃鸡手游。

    • 音视频技术成为了最直观的、能够直接影响用户体验的技术。

    • 本文来自微信京东数科技术说公众号。

    • 今天我来和你分享由深度网络衍生出来的编解码结构,以及相关的表示学习概念。

      2018 年 7 月 28 日

    • 在“深度学习”中,大规模数据处理应该如何应用?

      2019 年 7 月 22 日

    • 算法工程师周世付,分享了超分辨率应用于移动端实时音视频场景下,遇到的难点、通用解决方法,以及解决思路。

    • 本文介绍腾讯会议如何保证语音通信清晰流畅及对语音质量进行评估。

    • 这一讲继续讲解一些全栈开发中影响深远的算法,这次的归类是无损压缩算法。

      2019 年 12 月 4 日

    • 我在移动端机器学习的项目中,接触了不少安卓开发的同学,也看到团队中不少安卓开发同学展现出的机器学习技术的开发能力,我也在思考ai和安卓开发可以相结合的点。

      2019 年 4 月 6 日

    发现更多内容
    金马国际
    网站地图