共计 3382 个字符,预计需要花费 9 分钟才能阅读完成。
好听的声音就像滤镜,特地是在直播中,声音曾经是晋升直播间人气的要害因素,清晰、难听的声音能够迅速吸引观众,拉满好感。
想要打造一个领有“好声音”的直播间,除了主播通过调整音调、语调、语速等晋升对声音的把控度,也须要利用自身在底层能力上提供为声音加分、晋升用户听觉体验的技术支持。而随着直播场景的越来越丰盛和简单,不同的直播场景,也有相应的针对性技术要求。
在一直凋敝的直播业务中,连麦性能在用户留存、直播间活跃度、内容品质晋升等方面的作用失去了无力验证,成为各种业务场景的必备能力。
融云直播 SDK,以融云弱小的 IM + RTC +X 全通信能力为根底,残缺封装业务场景,提供 7 种合流布局模式,笼罩直播连麦全场景。
在直播连麦中,必不可少的技术能力就是声学回声打消(Acoustic Echo Cancellation, AEC)。
本文从根底概念、经典算法、次要挑战,以及人工智能回声打消技术摸索等方面,分享融云在 AEC 技术方面的实际及成果。
根底概念介绍
什么是回声?
在直播连麦场景中,回声次要指的是声学回声(包含线性回声信号和非线性回声信号)。即:远端讲话者(主播 A 或听众 A)的声音信号在传输给近端(听众 B 或主播 B)后,在近端设施的扬声器播放进去,通过一系列声学反射,被近端设施的麦克风拾取,又传输给远端(主播 A 或听众 A)的景象。
这将导致远端讲话者在很短时间内,又听到了本人方才的讲话声音。声学回声的产生过程如图 1 所示。
(图 1 声学回声产生过程)
如何防止这一景象?
答案就是应用 AEC(声学回声打消)技术,打消近端设施麦克风采集信号中蕴含的回声 → 保障远端讲话者收听到的声音中不存在回声信号 → 晋升用户的连麦直播体验及直播间品质。
应用 AEC 技术后,两端声音传输过程扭转为如图 2 所示,进而从底层保障连麦直播场景下声音的洁净度。
(图 2 AEC 技术应用场景)
罕用经典算法
目前,罕用的残缺声学回声打消算法,由以下三个次要模块组成:时延预计(Time Delay Estimation,TDE)模块、线性回声打消(Linear Echo Cancellation,LEC)模块和残余回声克制(Residual Echo Suppression,RES)模块,其原理框图如图 3 所示。
(图 3 回声打消罕用算法)
时延预计模块
回声信号绝对于参考信号是存在时延的,导致时延的次要起因包含:
① 参考信号获取到扬声器播放进去所通过的工夫;
② 扬声器播放进去后达到麦克风通过的工夫;
③ 麦克风拾取到回声信号并送到 AEC 算法模块所通过的工夫。
因为以上工夫均不是固定不变的,而且会呈现时延抖动。过大的时延或过大的时延抖动均会重大好转 AEC 的性能。因而,须要引入时延预计(TDE)模块预计麦克信号与参考信号之间的时延,并进行对齐,从而使得线性回声打消(LEC)模块和残余回声克制(RES)模块的解决无效。
经典的 TDE 算法是基于相互关原理实现的,这里以 WebRTC 中的 TDE 算法为例阐明,其次要是将参考信号与麦克信号别离变换到频域,并将其做 1/0 解决示意有无语音信号,通过一直将两路信号按帧绝对挪动来寻找最相干时的时间差,来作为时延的估计值。
线性回声打消模块
经典的线性回声打消(LEC)模块次要利用自适应滤波器(Adaptive Filter,AF)来设计,如 LMS、NLMS、AP、RLS、Kalman 等,AF 设计须要思考如下指标:
① 收敛速率:越快越好,即 AF 由非收敛状态(如初始状态或回声门路变动导致的非收敛状态)到收敛状态的速度;
② 稳定性:次要为 AF 收敛后可能稳固无效地工作使得残余回声量的输入稳固且小;
③ 算法复杂度:要使得滤波成果良好的状况下,计算复杂度尽量低。
通常设计线性回声打消(LEC)模块还须要引入双讲检测(Double Talk Detection,DTD)模块,“双讲”是指近端和远端同时讲话,“单讲”是指只有远端讲话。
双讲检测(DTD)使得自适应滤波器(AF)在“双讲”时不进行更新,放弃自适应滤波器(AF)稳固不发散;而在“单讲”时更新,来跟踪回声门路变动。
残余回声克制模块
自适应滤波器(AF)通常把回声链路作为一个线性系统进行拟合,而理论零碎并非严格意义上的线性系统;且自适应滤波器(AF)长度无限,很难将环境较强混响精确拟合。
因而,在线性回声打消(LEC)解决后,仍然会存在残余回声,须要引入残余回声克制(RES)模块进一步克制残余回声。
残余回声克制(RES)模块通常是利用残差信号与麦克信号、参考信号及线性回声估计值之间的相关性来预计残余回声,而后估算后验 / 先验信号回声比,再通过维纳滤波等预计最终的增益,从而失去输入。
须要留神的是,在理论设计残余回声克制(RES)模块时,还须要别离均衡残余回声克制量与近端语音失真度,及算法成果与计算复杂度。
经典算法次要挑战
尽管经典算法在理论场景中被宽泛应用,但它们也始终面临一些难解的问题,具体如下:
① 在具备强非线性回声的场景下,很难在近端语音不伤害或伤害可承受的状况下,获得不错的回声克制成果。
② 在强非线性回声或非稳态乐音场景下,传统双讲检测算法也很难失去精确检测后果。
③ 在强混响的场景下,因为自适应滤波器(AF)的长度限度,很难获得不错的回声克制成果。
在连麦直播场景,AEC 的理论应用场景更加简单,也面临着更多挑战:
① 用户终端设备品种多、差别大,产生回声的非线性状况大不相同,这对于 AEC 算法提出很大挑战。
② 设施应用环境简单多样,有宁静环境、室内嘈杂环境、室外嘈杂环境、室内强混响环境等,同样考验着 AEC 实现成果。
③ 直播平台的炽热可能带来大量用户的涌入,接入人数泛滥的状况下,“双讲”呈现的概率陡增,也晋升了 AEC 的难度。
因而,在融云直播 SDK 反对的多种连麦布局直播场景中,传统 AEC 算法面临多重挑战。
人工智能回声打消技术摸索
近年来,深度学习在语音信号处理畛域的利用越来越多,其与 AEC 算法的联合也获得了肯定停顿。
深度学习的实质就是构建深度模型来拟合输出与输入之间的映射关系,并且通过所构建模型的一直自我调整来使得模型输入与指标的误差越来越小,直至收敛稳固。对于 AEC 算法来讲,深度网络的输出包含参考和麦克两路信号,输入是一路。
深度学习与 AEC 联合
在以后深度学习与 AEC 联合的钻研思路中,次要包含以下两种:
① 传统 LEC + 深度学习 RES
利用深度模型来拟合非线性残余回声,并保留经典线性回声打消(LEC)算法。
② 深度学习 AEC
随着深度网络表达能力的加强,间接利用深度网络模型来拟合全副回声(线性回声 + 非线性回声)的办法也越来越多。
总的来说,基于深度学习的 AEC 算法钻研越来越多,且逐渐用到了理论零碎中。
融云的摸索与利用
连麦是直播业务的重要性能之一,而 AEC 又是连麦直播的必要算法之一,AEC 性能的好坏间接影响着连麦直播的体验。因而,融云对 AEC 的摸索从未间断,包含对近年来 NLP 畛域最热门的 Transformer 与 AEC 算法交融的摸索。
Transformer 由 Google 团队于 2017 年 6 月提出,摈弃了传统 CNN 和 RNN,整个网络结构由 Attention 机制组成。
它带给业界的重大突破在于:解决了 RNN 依赖历史后果导致模型并行能力被限度的问题与程序计算信息失落的问题。
当初,Transformer 不仅曾经成为了自然语言解决畛域的支流模型,还向其余畛域跨界,包含图像合成、多指标追踪、音乐生成、时序预测、视觉 – 语言建模等。
语音信号是时序信号,也将是 Transformer 能够大展拳脚的畛域。
摸索 Transformer 与 AEC 算法的交融,融云构建了一套基于 Dual-path transformer 的 AEC 算法框架,原理框图如图 4 所示,其中 Intra-transformer 与 Inter-transformer 别离用于对部分信息和全局信息建模。
(图 4 融云的人工智能回声打消技术摸索)
在深度学习 AEC 的钻研趋势下,融云对已有的一些深度学习 AEC 算法进行了实际验证,如基于 LSTM 深度学习模型的 DTLN-AEC 算法。
后果如下比照图所示,后果图中前半部分是“单讲”,后半局部是“双讲”。
可见,基于 LSTM 的 DTLN-AEC 深度学习办法后果优于传统办法。通过联合深度模型弱小的拟合能力与连麦直播场景相干的数据集,为非线性回声、混响、乐音、“双讲”等各种场景的性能带来晋升,极大缓解直播连麦场景的挑战。