VoIP(Voiceover IP)即IP电话,是将话音编码、压缩转换成数据包,在IP网络中进行传输的技术。语音通信因其特有的可靠性和高QoS(QualityofService)一直被大家广发使用。但现在的人们通过手机通话时已经不但仅满足于信息的获取,而更多地关注语音质量如何,是否能高保真地还原声音的效果,并表达最真实的情感。
有信以实时语音通话为核心,经过几年的深耕细作,用户总注册量已经超1. 2 亿,日活跃用户达 600 万。能够获得这么多的用户与有信电话高水平的语音通话质量密不成分,语音质量也是有信电话与传统电话公司竞争的一项关键因素。
业界各方为了提高VoIP语音质量各显其能,语音质量的评测方案层出不穷,但都以主不雅观评测为主流。我们在对有信VoIP网络电话做评测时,会从抗时延、抗丢包、噪声按捺以及音量大小等多种维度去考虑,本文主要介绍了客不雅观评测语音质量的一些方法和案例。
2 测试环境搭建
2.1 测试设备
测试设备:PC +测试手机 2 部+音频线 2 条+耳机麦克风二合一转接线。
以上设备根据图2- 1 方式连接后,在PC 上播放音频,声音从 PC的扬声器通过音频线和转接线传入到主叫A的麦克里,然后主叫A中的通话软件采集声音并经过网络传到被叫B,之后声音从被叫B通过音频线连接PC的麦克风传入到PC上,在PC上进行音频录制操作。这里需要注意的是,由于主叫和被叫都有麦克风权限,为了保证测试过程中数据的准确性,不受外界声音的影响,连接电脑mic端的被叫B必然要连结静音,主叫A必然要插出耳机模式。
图2-1
2.2 网络环境模拟
VoIP决定了对网络的强依赖性,因此需要评定在差别网络状态下的语音质量的各项指标。这里保举使用网络模拟软件Network Emulator Toolkit 模拟网络丢包、抖动等网络异常情况。在电脑上安置网络模拟软件,然后将电脑网络作为 WiFi热点(可以使用 360 随身 wifi 等工具实现),测试机连接热点 wifi,通过设置差别的参数实现丢包和网络抖动等网络异常的情况。
网络丢包设置方法:可以通过设置Periodic Loss (周期性丢包)参数实现(如设置参数为 10,体现每 10 个包丢一个包,即丢包率为10%),也可以设置Random Loss(随机丢包)参数实现(Random Loss中的数值若填写0.05,则体现随机丢包率为5%),一般随机丢包更贴近真实的网络情况。
网络抖动设置方法:可以通过设置变革的延时Linear 参数来实现,Linear 设置项体现在设置时间内 period,延时会从设置的最小值 Min 逐渐变革到设置的最大值 Max(如设置 min 为 0,max 为 100,体现抖动幅度为 100ms),也可以设置Normal Distributed 的参数来模拟。
2.3 音频文件以及分析工具的选择
分析音频的软件有很多,本文采用Cool Edit Pro,便利易用。将音频文件在Cool Edit Pro中打开,可以看到音频是否满足测试条件,例如,在音质测试时,要保证波形适中,振幅分布均匀。
由于 PESQ 算法的特殊性,对声音源文件的选择有必然的要求。
1. 源声音文件的长度在6s~8s之间,过长或过短都会影响计算结果。
2. 静音区和非静音区的比例要适中,尽量保正[非静音:静音=6:4 ]或 [非静音:静音=5:5 ]或[非静音:静音=4:6 ]。使用 PESQ 计算 MOS 分时,要用纯净的不带噪声的文件。
3. 使用 Cool Edit Pro 录音时,应保证输出的波形适中,可通过调节音频播放音量和 PC 录音音量来控制。
3 测试指标以及测试方法
3.1 音质(QV)
音质(Qualityof Voice)是指经传输、处理后音频信号的保真度,是对音量音高、音调、音色等一些列影响因素的综合评价。本文所用的音质的测试方法,是利用python的音频插件pyAudio来输入源文件以及录制输出音频,通过国际通用的PESQ(Perceptualevaluation of speech quality)算法来对比两个输入和输出的音频,最终计算出MOS(Mean OpinionScore)值。以上整个过程都是通过脚本完成,制止了人工参与引入的误差。如1. 1 中的示意图连接好设备后,两台手机通过AppA进行通话,通话过程中执行脚本,脚本中一些变量的值,例如执行次数、采样率、Delay时长等都可以按照测试对象的实际情况进行灵活调整,以尽量找到测试对象的天花板。
3.2 语音时延(DV)
语音时延(DelayofVoice),两个移动终端进行通话过程中,主不雅观感受的时延是指输出音频的时间减去输入音频的时间,即被叫听到声音的时间减去主叫发出声音的时间。DV过大,比较容易出现响应迟缓、或者双讲的情况,非常影响通话体验。本文中对DV的测试方法是,如1.1中的示意图连接好设备后,两台手机通过AppA进行通话,通过脚原来计算音频输入的时间和录制音频的输出时间,这个过程比拟主不雅观测试,排除了人耳的差异性带来的误差,使得测试结果更精准。通过脚本跑出的时延数据,取50~ 100 组延时数据算平均值即可。
3.3 噪声按捺(NS)