基于声学参数测量的语音清晰度预测系统
2018-05-30章斯宇孟子厚
靳 源,章斯宇,孟子厚
(中国传媒大学传播声学研究所,北京 100024)
1 引言
语音清晰度是衡量语音传输系统性能优劣的一项重要指标,受到很多因素的影响,其中噪声混响和频率失真尤为重要。语音清晰度的测量方法主要有主观测量方法和客观测量方法。主观测量是以人为主体来对语音的质量进行评价,需要大量的人力,方法繁琐,重复性和稳定性均不佳,但优点是能真实反映语音质量的优劣。客观测量是基于算法直接对语音传输系统的语言传输质量进行评价,目前国际上应用较为广泛的是语言传输指数STI法[1],虽然客观评价方法解决了费时费力等问题,但现行语音清晰度客观评价方法得出的汉语清晰度水平与人的实际听感存在差异。笔者所在的声学所曾对语言传输指数STI在评价汉语清晰度存在失效的问题[2]做了研究,但还需要针对汉语语言学和语音学特点、汉语知觉心理特点、传输通道传递条件的多样性等方面建立一种符合实际听觉感受的汉语清晰度客观评测方法。笔者查阅相关文献发现,尚楠通过主观实验探讨了混响时间和信噪比与语音听感清晰度之间的关系[3];宋慧在频带失真条件下探讨了汉语听感清晰度随滤波截止频率的变化规律[4],发现语音清晰度与各声学参数的关系是非线性的,且影响语音清晰度的各种因素是相互联系、相互影响的。支持向量机(Support Vector Machine,SVM)是一种比较优秀的机器学习算法,它不仅具有记忆性、自学性等一般机器学习算法的优点,而且算法简单,“鲁棒性”强,解决小样本问题、非线性问题都具有较强的优势[5]。笔者在此研究基础上,采用支持向量机的机器学习算法,对噪声、混响和频带失真条件下语音清晰度主观测量数据进行训练,建立了语音清晰度的预测模型,在MATLAB平台上设计了一套汉语语音清晰度预测系统。该系统集成了信噪比、混响时间以及系统截止频率的测量,根据这些声学参数的测量结果可以实现对语音清晰度的预测,为汉语语音清晰度客观测量的工程实现提供参考方法。
2 基于SVM的语音清晰度预测模型
本文主要使用支持向量机做回归预测分析,其原理是通过核函数将低维线性问题转换为高维的线性问题,应用有限样本的学习训练,获得全局最优解[6]。参考文献[7]叙述了粒子群寻找支持向量机最优参数的原理。
如图1所示,本文基于SVM建立语音清晰度预测模型基本思路是:
(1)对样本数据进行预处理:由于语音清晰度主观实验的波动性,某些声学条件下的语言清晰度会产生异常值,所以采用相邻条件下的语音清晰度值进行替换修正。而单一条件和双重条件影响下的数据缺少声学条件参数。这些声学参数可以默认为理想值。相关文献显示,宋慧发现当声学条件参数超过临界值时,其变化对语音清晰度不构成影响[8],因此,本文采用临界值进行数据补全。当信噪比大于20 dB时,设置其20 dB,信噪比小于-14 dB时,设置其为-14 dB。当混响时间大于6 s,设置其为6 s,无混响设置为0 s。当系统下限截止频率小于160 Hz时,设置其为160 Hz,当系统上限截止频率大于10 kHz时,设置其为10 kHz。最后将数据归一化,对信噪比、混响时间参数采用线性归一化的方式。由于系统截止频率数量级相差过大,则采用对数归一化的方式。
(2)初始化粒子群算法的默认参数,对模型参数进行寻优。
(3)使用寻优得到的参数构建目标函数,然后利用预处理后的样本数据进行训练,得到预测模型。
最终建立语音清晰度预测模型预测值与实际值散点图如图2所示。
计算均方误差M S E和拟合精度R2得到:MSE=0.0055;R2=0.9282。
可以发现,该预测模型具有较小均方误差和较高的拟合精度。后续在第4部分中,通过主观实验验证了该预测模型的有效性和一致性。
3 系统设计
该测量系统主要由计算机、专业声卡、功率放大器、十二面体无指向声源和测量传声器组成,系统连接框图如图3所示。
该测量系统主要分三个步骤进行:
(1)计算机生成MLS序列信号,通过声卡D/A转换馈给被测扩声系统,由测量传声器接收信号,通过声卡A/D转换馈给计算机处理,得出扩声系统的频率特性。
(2)计算机生成混响时间测量信号,通过声卡D/A转换馈给功率放大器,然后功率放大器经过信号放大馈给十二面体声源,由测量传声器接收信号通过声卡A/D转换馈给计算机处理,得出混响时间。
(3)计算机播放纯净语音信号通过被测扩声系统,由测量传声器接收信号通过声卡A/D转换馈给计算机处理得出该传输系统的信噪比。
如图4所示,该测量系统程序设计主要包括五个功能模块:
图1 支持向量机回归模型训练流程图
图2 汉语语音清晰度的预测值与实际值散点图
图3 测量系统组成框图
(1)信号发生与参数设置模块主要包括对信号的选取(扫频信号、MLS伪随机噪声),信号的参数设置(信号时长、扫频类型、扫频上下限频率、MLS序列的介数),硬件设置(声卡设备设置、输入/输出通道设置)。
(2)混响时间测量模块主要包括1/n倍频程滤波器的选取,T10、T20、T30的选取,房间脉冲响应计算方法的选取(互相关、解卷积)。
(3)系统频率特性测量模块主要包括中心频率的设置、截止频率阈限的设置。
(4)信噪比测量模块主要包括短时能量及过零率阈限的设置、帧长帧移的设置。
(5)汉语语音清晰度预测模块主要包括对数据的预处理和语音清晰度值的计算。
本文系统的软件界面主要基于MATLAB开发。MATLAB不仅在数值分析、矩阵运算、信号处理等领域展现出了强大的优势,还提供了用户与计算机程序之间的交互方式。通过GUI,用户不需要输入命令行或脚本,不需要理解程序内部的运行方式,只需要通过点击窗口中的按钮,就可以轻松完成自己想要的结果。该系统主界面设计如图5所示。
图4 系统功能模块框架图
3.1 频率特性测量模块
系统结合不同截止频率滤波条件下的汉语普通话主观听感实验[4],并依据GB7347-87《汉语标准频谱》中功率谱密度级的分布规律[9],设置了160 Hz起以1/3倍频程为步进递增至10 kHz所涵盖的19个频率点,并插入了7 kHz和9 kHz两个频点。通过对这21个频率点进行1/3倍频程分析,可以得到被测声传输系统的截止频率。其原理简述如下:
原始信号为MLS伪随机噪声,将原始信号进行时域翻转并与采集信号卷积即可得到系统的脉冲响应。对系统的脉冲响应加汉宁窗,并乘以能量恢复系数[10],利用快速傅里叶变换(FFT)得到其频谱密度,根据1/3倍频程截取得到各频带频谱,然后将其进行快速傅里叶反变换(IFFT)得到各个频带的系统脉冲响应,通过计算其算术均方根值(RMS)得到各个频带能量,最后通过查找衰减-3 dB的频点作为该系统的截止频率。其程序流程图如图6所示。
图5 测量系统界面设计
图6 频率特性测量程序流程图
3.2 混响时间测量模块
包括混响时间在内的很多声学测量都依赖于对房间脉冲响应的测量,而不同的激励声源测得的房间脉冲响应都会对声学参数的计算产生影响,孟子厚、赵跃英等人就探讨了不同激励声源对房间脉冲响应测量的影响[11][12],其中指数扫频信号测量房间脉冲响应有着高抗干扰性,能够提高测量的房间脉冲响应信噪比,且能避免扬声器非线性失真对测量结果的影响。因此,本文系统采用指数扫频信号作为原始信号进行测量。卷积、滑移窗截断、Schorder反向积分、斜率计算是本文系统的主要算法,其原理简述如下:
将原始指数扫频信号进行时域翻转,并对其频率进行修正得到翻转信号与采集信号进行卷积得到房间脉冲响应,其中翻转信号与原始信号满足卷积为狄拉克函数。然后,将得到的房间脉冲响应进行1/3倍频程滤波得到不同频带的房间脉冲响应。为了避免噪声对混响时间计算的影响,本文系统采用短时滑移窗计算短时能量,并自适应调节阈限来截取有效房间脉冲响应范围。然后利用Schroder反向积分得到声能衰减曲线,进一步利用最小二乘法拟合曲线并计算斜率,从而得到混响时间。其程序流程图如图7所示。
3.3 信噪比测量模块
标准的信噪比定义为:
式中,为纯净语音信号的功率,为噪声信号的信号功率。
它适用于所有的信号计算,但对于语音信号,只有测量语音存在的信号片段的信噪比才有意义。因此,本系统利用语音活动检测算法(VAD)计算语音信号的有效信噪比[13],原理简述如下:
利用最小值控制的递归平均(MCRA)算法[14]对带有噪声语音信号进行噪声估计,得到该语音信号的各帧的短时噪声功率谱,利用谱减算法得到各帧近似纯净的语音信号。同时对带有噪声语音信号进行语音活动检测(VAD),得到语音存在与否的时间标注信息(VAD i)。然后利用各帧纯净语音信号功率和短时噪声功率得到各帧信噪比,最后根据语音活动信息截取语音活动片段计算能量平均,即可得到最终有效信噪比。其程序流程图如图8所示。
4 实际测量验证
为了验证混响时间测量模块测量精度,设计了与Audition3.0音频编辑软件中aurora插件进行对比测量的实验。测量方法参照国家标准GB/T 50076-2013《室内混响时间测量规范》[15],测试环境选择在混响室中进行的,室内放置了不同数量的吸声材料以改变混响时间。测量结果如图9所示。从图中可以看出,本文混响时间测量结果与aurora测量结果较为一致。
为了验证本文信噪比测量模块的测量精度,本文依照国家标准GB-T 15508-1995《声学 语言清晰度测试方法》[16]录制了纯净语音信号,并分别与粉噪声(pink noise)、白噪声(white noise))和多人语噪声(babble noise)叠加构造不同信噪比的实验信号进行测量,其中粉噪声与白噪声由Audition 3.0软件直接生成,多人语噪来自噪声数据库NoiseX-92,测量结果如图10所示。
可以发现本系统信噪比测量模块在低信噪比条件下对粉噪和白噪声测量更为准确。整体上在-5 dB至20 dB范围内,不同信号的信噪比测量值与实际值都相对吻合。
图7 混响时间测量程序流程图
图8 信噪比测量程序流程图
图9 本文系统与aurora混响时间测量对比图
为了验证本文系统频率特性测量效果,本文将设计的频率特性测量模块与意大利AUDIOMATICA公司的CLIO电声测试系统进行了对比实验。实验环境选择消声室内进行,被测扬声器选用Genelec 8030A。测量方法依据国家标准GB/T 12060.5—2011《声系统设备 第5部分:扬声器主要性能测试方法》[17]。从图11可以发现,在50 Hz~20 000 Hz范围内,本文系统与CLIO系统测量的幅频响应曲线较为吻合。
图10 不同噪声下信噪比测量结果图
图11 本文系统与CLIO幅频响应曲线测量对比图
图12 汉语语音清晰度的预测值与实际值散点图
为了验证语音清晰度预测模型的可靠性,本文设计了主观语音清晰度实验,将主观实验结果与语音清晰度预测模型的预测结果进行了对比。实验方法参照前人的研究成果[3][4][8]。实验条件设置如表1所,实验结果如图12所示。
经计算得到:MSE=0.0042;R2=0.9141;
可以发现,本文建立的汉语语音清晰度预测模型可以获得较低的均方误差以及较高的拟合精度。主观实验得到的实测清晰度与本文设计汉语清晰度预测模型预测清晰度值基本吻合。
表1 实验信号干扰条件的选择
5 总结
本文提出了一种基于支持向量机回归模型的汉语语音清晰度预测方法,其中支持向量机的参数采用粒子群算法寻优得到;同时,在MATLAB GUI平台上,设计了一套集成声学参数测量的语音清晰度预测系统;并通过实际测量实验验证了系统的有效性和一致性。
[1]Steeneken H J M, Houtgast T. A physical method for measuring speech-transmission quality[J]. Journal of the Acoustical Society of America,1980,67(1):318-326.
[2]章斯宇,孟子厚. 语言传输指数STI评价汉语清晰度的失效性[J]. 中国传媒大学学报:自然科学版,2015,22(1):20-25.
[3]尚楠,章斯宇,孟子厚. 混响和噪声对汉语语音清晰度影响的等效关系[J]. 声学技术,2015,34(6):446-449.
[4]宋慧.高低通滤波条件下汉语普通话的听感清晰度[J]. 声学技术,2015, 34(6):454-457.
[5]方瑞明. 支持向量机理论及其应用分析[M]. 北京:中国电力出版社,2007.
[6]Vapnik V N. 统计学习理论的本质[M]. 张学工,译.北京:清华大学出版社,2000.
[7]Kennedy J, Eberhart R. Particle swarm optimization[C]// IEEE International Conference on Neural Networks. Perth Australia: Proceedings.IEEE,1995,4(8):1942-1948.
[8]宋慧. 汉语听感清晰度的声学传递要素分析与客观评测[D]. 中国传媒大学,2016.
[9]GB7347-1987 汉语标准频谱[S]. 1987.
[10]焦新涛,丁康, 加窗频谱分析的恢复系数及其求法[J].汕头大学学报(自然科学版),2003,18(03):26-30+38.
[11]孟子厚. 厅堂声学测量中不同激励声源的比较[J]. 应用声学,2005,24(01):19-23.
[12]赵跃英,盛胜我,刘海生. 室内声学测量中常用声源性能的比较[J]. 声学技术,2003,22(02):76-79.
[13]Vondrasek M, Pollak P. Methods for Speech SNR Estimation: Evaluation Tool and Analysis of VAD Dependency[J]. Radioengineering,2005,14(1):6-11.
[14]Martin R. Noise power spectral density estimation based on optimal smoothing and minimum statistics[J].IEEE Trans Speech & Audio Processing,2001,9(5):504-512.
[[15]GB/T 50076-2013 室内混响时间测量规范[S]. 2014.
[[16]GB/T15508-1995 声学-语言清晰度测试方法[S].1995.
[17]GB/T 12060.5—2011 声系统设备 第5部分:扬声器主要性能测试方法[S]. 2011.