随着现代通信技术的发展,语音通信成为了人们生活中不可或缺的一部分。然而,环境噪声和回声等因素对语音通信质量产生了不良影响,降低了通信效率和用户体验,声学回声消除技术的应用变得越来越重要。如何评估回声消除的效果也变得极为关键,准确合理的评估有助于发现产品的不足,改进和提升产品竞争力。过去采用的是传统的主观评价,主观评价的缺点显而易见:
受到主观评价人员的主观因素影响大,结果不够客观可靠。
可重复性差,多次测试结果不一致。
效率低,对于 SDK 服务商来说,难以覆盖众多的平台和机型。
网易云信作为 RTC 技术厂商,AEC 算法需要适配不同机型和环境下的语音通信场景。因此客观量化的评估 AEC 尤为重要。本文将介绍一种基于实验数据分析的方法,用于客观地量化 AEC 效果。通过在各种机型和环境下的测试,详细分析 SDK 对回声抑制、语音质量等方面的影响,并给出相应的评价指标。通过这些量化数据,来评估 AEC 性能,为云信 SDK 在不同场景下的应用提供参考和指导,提高云信的语音通信领域的应用价值和市场竞争力,为用户提供更好的通信体验。
测试环境软硬件列表测试组网回声消除客观测试中的硬件组网如下图所示,测试设备 A 放置在人工头前,测试过程中:远端设备 B 会发送语音信号到 A,同时人头会播放声音信号作为近端输入、散射场的音箱会模拟环境噪声,在接收设备 B 上采集到最终的信号用来分析。
测试方法核心指标对于回声消除,主观评价中主要关注以下几点:
初始漏回声:比如在进房间、上下麦过程中对端容易听到回声。
残留回声的大小。
残留回声的平稳度。
本端讲话或者本端有环境音对端人声有无压制(双讲)。
两端同时讲话,对端是否有漏回声(双讲)。
我们把这些主观感受量化成客观指标,利用开源和自研的方法实现对于回声效果的客观评估,如下表所示。
测试流程和场景分类单讲测试
单讲测试流程比较简单:
由接收端设备 B 向着测试设备 A 发送一段信号。
设备 A 下行播放出来被自己的麦克风采集回去形成回声。
设备 A 的回声经过本端 AEC 处理,再经过 RTC 传输回设备 B。
再由设备 B 端录音,分析计算客观指标。
对于单讲的评估,主要分为两类方法,一是无参考的评估,主要分析最终信号的回声大小,平稳性等。另外一种是有参考的评估,是通过设备 A 附近的标麦录音作为参考,计算回声的消除力度。
单讲场景包括但不限于以下几种形式:
远端连续单讲
远端为数数字
远端为音乐信号
双讲测试
双讲测试过程中,为了计算双讲剪切和双讲回声等指标,需要测试两次,第一次只有远端信号,第二次远端和近端同时发声。
第一次的结果会作为双讲指标计算的输入:
由接收端设备 B 向着测试设备 A 发送一段信号。
设备 A 下行播放出来被自己的麦克风采集回去形成回声,同时人工嘴发声,也会被设备 A 一起采集,与回声叠加形成近端语音。
设备 A 的近端信号经过本端 AEC 处理,再经过 RTC 传输回设备 B。
再由设备 B 端录音,并分析计算客观指标。
双讲的评估一直是业界的难题,尽管有单讲的信号作为对比,但语音中残留从能量的角度会影响双讲剪切的客观指标计算,因此对于双讲场景,需要结合双讲回声、可懂度、MOS 分、双讲剪切等多个指标综合进行判断,且纯双讲段的回声残留无法有效计算,只能计算双讲语音间歇出的残留作为参考。
双讲场景包括但不限于以下几种形式:
远端为连续语音,近端正常讲话
远端为数数字,近端为正常语音
远端为数数字,近端音乐信号、
云信作为 RTC SDK 提供商,与硬件厂商不同,我们的 AEC 算法需要兼顾不同的平台和机型,不同设备上,扬声器和麦克风的布局导致回声大小不一,拿移动端设备举例,一次测试需要兼顾市面上不同厂商的主流机型。以下是某个版本中做的一组测试,对于每个机型,包含三个部分的数据:
原始值:由核心指标得到的原始结果,表示各个测试维度的绝对值。
映射分数:由原始值映射到百分制的分数,映射过程并非线性的,考虑了主观体验和惩罚机制。
最终得分:由各个指标的映射分数,经过加权计算得到总分。加权系数并非固定,根据实际的使用场景来调整。
结合前后版本的数据或竞品对比数据,就很容易对比两个版本或者两个 SDK 的优劣,如下图是我们对比了市面上两家友商的回声处理效果,从表格中可以看出厂商 B 的回声处理在 HF_SPEECH/HF_MUSIC/HS_MUSCI 三个模式下都好于竞品 A。竞品 A 还存在兼容性和稳定性差的问题,在部分机型上结果表现非常差。
结果分析以实际测试的数据为例,来分析结果与实际听感上的一致性。下面是某机型版本 A 和版本 B 的测试结果对比,从结果上看版本 B 明显好于版本 A。
从客观数据上可以得到以下几点结论:
单讲时,两个版本的残留回声的绝对能量都不多,B 略好于A。
A 残留的回声明显不平稳,听感应该会很差。
A 双讲剪切比较多;B 的整体音质不错,可懂度较高。
A 的双讲段有漏小回声。
拿测试结果的录音来听音分析,与客观数据的结论基本一致(篇幅原因,展示的图片仅为测试中的某个用例):
两个版本都没有漏完整回声,回声残留 A 略大于 B,但是 A 的点残留很频繁,主观听不舒服。
双讲段 A 有 4-5 处明显的压制,语音听起来有明显的卡顿,且双讲中能听到小的回声,B 有一处语音结尾处有轻微的压制,总体上比较连续可懂。
通过集成云信自己的 API 自动化,我们已经实现了 10 台以上的设备同时测试,只要把要测试的手机固定好,一键点击运行就可以自动生成测试报告。
成果和展望依托算法同学的不懈努力,以及本方法的科学评估,云信的 AEC 算法得到了稳步的提升,从而为用户提供更加清晰、自然的音频通话体验。回声消除的量化评估方法为我们提供了一种全新的评估手段,将科学性和客观性融合在一起,从而更加准确地评估算法的表现。未来,我们将继续致力于技术创新和优化,提供更优质的音频服务,为用户带来更加出色的通信体验。