最近音视频程序被客户反馈有音质问题,因为这个客户使用的是新的供应商提供的硬件,并没有做详细的音质相关的测试,只做了简单的功能测试就急匆匆上线了。

设备采用瑞芯微的RK3562+安卓14的配置,音视频程序基于谷歌的WEBRTC 开发,WEBRTC 内置了音频相关的 3A 算法,包括降噪,消除回声,自动增益等等。

传统测试方式,需要安排至少两个测试人员,配备对于的设备模拟用户正常的使用方式,然后通过人耳去分辨程序固件修改之后音质是否有改善?

这样的方式的难点在于测试人员只能回忆之前的通话效果来对比现在的通话效果是否有改善,而且时间一长人耳容易出现疲劳,严重影响测试人员的身心健康。时间一久之前测试的情况也会逐渐产生偏差,甚至完全遗忘。

那么如何更直观、更高效的测试硬件以及系统固件在当前程序下的降噪回声等表现呢?

音频分析可以使用 Audacity 工具,它可以把音频文件转换成折线图,频谱图。

896183a6-8f7b-4f10-98e0-ea70f2f594d1.png

企业微信截图_17610381457763.png

通过波形的高低和频谱的亮度可以很直观的看出声音的大小,有没有噪声等等。

接下来只要获取到设备测试时候录制的声音就能将这些文件导入 Audacity 软件,来直接对比声音的质量有没有改善。

接下来进入实操阶段:

准备两台安卓设备,开启调试模式。

编译项目 https://github.com/snowlyg/AndroidWebRTCGradle.git 并安装生成的APK到两台测试设备。

如果不想编译项目可以从https://github.com/snowlyg/AndroidWebRTCGradle/releases/tag/debug 下载已经编译好的 APK。

  1. 打开程序

71d61d2a-360d-45e3-aa5e-1e01a1ae1204.png

  1. 进入设置界面,开启ACE_DUMP 文件保存

fa7a6bd7-75a9-4393-9f87-608aea74d97d.png

bd58c962-9fea-4b80-9f05-bab858b1a1b7.png