共计 2369 个字符,预计需要花费 6 分钟才能阅读完成。
前言
RTC(实时音视频通信)技术的疾速倒退,助力了直播、短视频等互动娱乐模式的遍及;在寰球疫情继续蔓延的态势下,云会议需要出现爆发式增长,进一步推动了 RTC 行业的疾速倒退。为了给客户提供稳固牢靠的服务,网络系统方面须要一直晋升频道连通率,升高会议过程中的断流率,加强抗弱网能力;视频方面须要晋升视频清晰度,升高视频卡顿率等,音频方面在谋求端到端 MOS 的同时,也要重点关注音频 3A 算法的成果,这些都是各厂家必须修炼的“内功”,也是最终积淀下来的外围竞争力。本文将重点论述硬件设施采集的音频品质对 RTC 端到端音频体验的重要性。
采集品质不佳,会有什么影响?
在 RTC 架构中,端到端的音频信号处理流程大抵如下图,上行别离通过了音频信号的采集,音频 3A(AEC: 回声打消、ANS: 自适应降噪和 AGC: 自动增益管制)和编码;上行别离通过丢包复原,解码,混音和播放。
端到端的音频信号处理流程
不难看出,音频信号通过模数转换,再通过设施集成的音频信号处理芯片,最初才传递给 RTC SDK。因为硬件厂商的不同,音频采集解决方案参差不齐,因而采集到的音频品质的好坏间接影响着 3A 算法拿到的生产资料的可用性,同时也决定这最终用户接管到音频信号品质的下限。依据理论工作中遇到的音频问题,因为设施采集引起的问题根本能够演绎为如下几类:
举几个例子:
(1)采集异样
采集异样次要体现在频谱“含糊”,重大的会导致无奈听懂语义,影响失常交换。如下语谱图。
另外,采集异样后,播放的信号被麦克风采集后也会体现出异样,从而引起重大的非线性失真,影响回声打消成果,如下图。
(2) 采集抖动
常见的就是采集丢数据,听感上会听到有很多高频噪点(下图为上图中噪点放大后的部分图),重大的会影响 AEC 算法中对延时预计准确性和远近端非因果问题,重大的会导致漏回声。
(3)爆音和音量小问题
采集爆音问题次要产生在 PC,也是 PC 端设施最应该防止的问题,影响较大,除了截顶导致的频谱失真之外,重大的非线性失真会影响回声打消成果。爆音问题须要 AGC 算法通过自适应调节 PC 端模仿增益以及麦克风增强解决。
(4)频谱缺失
频谱缺失次要是硬件回调的音频采样率与理论的频谱散布不统一,即便编码器给到很高的编码码率,听感上也没有高音质的成果,如下图,采集信号采样率为 48kHz,然而频谱下限却只有 8k。
改善采集音质,硬件层面咱们能做什么?
具备 RTC 能力的硬件设施早已浸透咱们生存的方方面面,常见的如挪动端手机和 PC,当初甚至连儿童电话手表,天猫精灵以及各种高端的指纹密码锁等设施都反对了 RTC。然而,设施的多样性间接决定这采集能力的差异性,抛开声学元器件设计差别这一因素,就 Android 端而言,芯片和软件系统的差别使得同一品牌的手机,也没方法用同一种配置适配所有型号的手机。
另外,当初绝大多数的挪动端设施都自带硬件音频信号处理(后称硬件 3A)能力,不同芯片成果方面也是千差万别的同时,更重大的是通过硬件解决的音频信号频谱往往会有缺失,如开启硬件 3A 后回调到 RTC SDK 的音频信号频谱下限仅反对到 8k,相当于 16kHz 采样的音频信号,尤其在娱乐方面根本无法满足咱们对高音质的谋求。因而,做好硬件层的适配工作,是保障 RTC 高质量音频体验的根底。
Android 端
(1)须要搞清楚 javaaudioclass 和 opensles 这两种模式的差别,以及各自须要适配的参数,把握敞开硬件 3A 的配置。
(2)采集抖动或音频音量异样,能够试试更改申请的采样率,通常设置的 48k 采样不会实用于所有的 android 设施。
Windows 端
(1)以后很多 Windows 设施会在屏幕顶端内置麦克风阵列,提供音频加强性能,开启形式如下图。这个性能默认屏幕正前方夹角区域为拾音区域,通过麦克风阵列技术能够无效的加强拾音区域内发言人语音,“隔离”拾音区域以外的“噪声”,其次要的弊病就在于开启此性能后仅反对 8k 频谱,且各厂家加强算法存在差别,成果也参差不齐。因而,软件须要具备可能 bypass 硬件自带音频加强性能的能力,为高音质做保障。
Windows 设施自带的双麦阵列(图片来源于网络)
音频设置中的加强性能开关
开启音频加强后,带来的频谱缺失
(2)音量方面,PC 端设施都反对模仿增益调节,大多数带有阵列的 Windows 设施都有额定的麦克风增强(如下图)。软件算法层面(3A 中的 AGC)须要具备自适应调节他们的能力,保障音频采集音量的安稳以管制采集底噪程度。初值设置或自适应调节不当都会导致音量小和爆音等问题,重大的会影响回声打消和降噪的成果,带来影响可用性的危险。
模仿增益与麦克风增强
苹果设施
(1)ios 端适配工作较少,须要相熟敞开硬件 3A 的配置,因为 ios 设施自带的硬件 3A 频谱也只能反对到 10k-12k。
(2)Mac 笔记本设施比较简单,仅提供了模仿增益调节。然而有一点须要留神,RTC 在反对双声道播放时,因为麦克风会与某个扬声器在同一侧,导致播放音频时左近的麦克风采集爆音问题,个别只能优化软件 AEC 算法解决。
总结
当 48k 高音质成了刚需,为了保障采集环节的高质量,一方面须要投入工夫去把握 Android 参数适配的法则,同时市面上呈现的越来越多的定制化的 android 设施(手表,智能音箱等),也必不可少的须要先确定好配置参数;另一方面敞开硬件设施自带的音频解决性能,启用 RTC 自带的纯软 3A 算法也是一种趋势,前提是要优化好软件 3A 算法整体成果以及管制好功耗,这也是客户评测各厂家之间音频体验的必测项,也是各厂家的外围竞争力之一。
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实际技术文章,在这里与音视频畛域一流工程师交换切磋。公众号后盾回复【技术】可退出阿里云视频云产品技术交换群,和业内大咖一起探讨音视频技术,获取更多行业最新信息。