通过实验让学生掌握基础的语音信号处理与机器学习方法,加深学生对课本知识的理解,增强学生对知识的实际应用能力,培养学生的思考、探索与创新能力以及严谨的治学态度。
实验后,学生应(1)了解预加重的含义及作用,掌握预加重的方法;(2)了解汉宁窗、矩形窗、三角窗、海明窗、布拉克曼窗等窗函数间的联系与区别,帧移、帧长对分帧结果的影响,掌握语音信号分帧方法;(3)了解语谱图的含义,掌握语谱图的绘制步骤;(4)了解基频类、振幅类、LPCC、MFCC等声学参数的概念,以及阶数对LPCC、MFCC等参数识别能力的影响;(5)了解并掌握十折交叉验证方法;(6)了解贝叶斯概率、反向传播神经网路、支持向量机、K最邻近、决策树等常见机器学习方法,并知道彼此间的区别,掌握使用这些机器学习方法进行分类实验的步骤。
1、语音信号预处理
由于语音信号的平均功率谱受口鼻辐射的影响,需要对信号进行高频提升(6db/倍频),因而需要将信号进行预加重处理。预加重后的语音信号还能有效滤除低频干扰,尤其是50Hz的工频干扰,同时还能达到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。预加重一般通过一阶FIR高通数字滤波器实现,传递函数为,其中α为预加重系数。对取出的一帧信号进行加窗处理,在加窗的时候,不同的窗和窗长的选择将影响到语音信号分析结果,窗函数通常有矩形窗、汉明窗、汉宁窗、布莱克曼窗、凯赛窗等。
2、语谱图
人的听觉功能就是一个精确的频谱分析仪,因此对语音信号进行频谱分析是认识语音信号的另一个重要的方法,并且无论是从发音器官的共振角度还是从听觉器官的频率响应角度来看,频谱都是表征语音特性的基本参数。但是这种频谱分析只能反映出信号频率的变化,而不能表示信号的时间变化特性。
因此需要对语音信号进行短时傅里叶变换,短时傅里叶分析的方法,就是把一个完整的语音信号进行分帧,然后对每一帧按标准傅里叶变换进行分析,以得到语音的频域特性。
语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量。由于是采用二维平面表达三维信息,所以能量值的大小是通过颜色来表示的,颜色越深表示该点的语音能量越强。
语谱图可分为宽带语谱图和窄带语谱图,宽带语谱图呈现出垂直的条纹,由于宽带语谱图滤波器的冲激响应的宽度大约与基音周期相同,因此这些垂直条纹的时间间隔即为基音周期,具有较好的时间分辨率。而窄带语谱图可以看到共振峰频率随时间变化,并可以看到浊音区的各个谐波,各个谐波表现为横向条纹。
3、线性预测倒谱系数(LPCC)
线性预测分析技术基本思想是:语音的当前样点值都可以用若干过去的样点值来线性表示。各加权系数值的确定原则是要保证误差的最小均方值要最小。理论上来说P的取值越大,对声道模型的描述也就越精确,而同时计算量和存储量也会成比例增大。
倒谱系数的优点在于将语音产生模型中的激励信号与声道响应信号很好的分离。利用同态处理法,对语音信号进行FFT后再取对数,接着求反变换IDFT后得到。
4、梅尔频率倒谱系数(MFCC)
MFCC参数是将人耳的听觉特性和语音的产生机制相结合而产生的一组特征参数。人耳具有一些特殊的功能,正是这些特殊的功能能够使人耳在嘈杂的环境中还能够正常的分辨出各种语音,其中耳蜗起了关键的作用。耳蜗实质上相当于一个滤波器组,滤波的作用是在对数频率上进行的,在1KHz以下为线性尺度,而在1KHz以上则为对数尺度,这就意味着人耳对低频信号更加敏感。而语音信息大多数都集中在低频部分,高频部分绝大多数都是外界噪声的影响,总之突出了低频信息有利于屏蔽噪声的干扰,提取稳定性很高的语音特征参数。在提取MFCC特征时,我们首先对语音信号进行预加重、分帧和加窗。再对每一个短时分析窗,通过FFT得到其对应的频谱,并在Mel滤波器的作用下将频谱转化为Mel频谱。
5、机器学习及10折交叉验证法
机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。
交叉验证的基本思想是把在某种意义下将原始数据进行分组,一部分做为训练集,另一部分做为验证集,首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型,以此来做为评价分类器的性能指标。常用的精度测试方法主要是交叉验证,例如10折交叉验证,将数据集分成10份,轮流将其中9份做训练1份做验证,10次的结果的均值作为对算法精度的估计。
【步骤一】使用实验平台需要选择嗓音数据库里的嗓音信号。
【步骤二】设置预加重滤波器的系数,观测语音信号预加重的效果,理解预加重滤波器的系数设置原理,并分析幅频相频曲线、频谱、原始语音信号图。
【步骤三】设置符合当前采样率的语音信号处理帧长、帧移数据,对语音信号进行分帧加窗处理。结合图像理解语音波形、短时能量以及短时平均过零率。
【步骤四】通过语谱图观测正常与病理嗓音的能量分布情况。
【步骤五】通过数字信号的原理设置中心削波系数以及中值滤波点数。
【步骤六】提取语音信号的声学参数。
【步骤七】设置LPCC阶数,提取语音信号的线性预测倒谱参数。
【步骤八】设置MFCC阶数,提取语音信号的梅尔频率倒谱参数。
【步骤九】依次选择其他9个正常嗓音信号,重复步骤【一】到【七】,完成正常嗓音信号的参数列表。
【步骤十】选择10个病理嗓音信号,重复步骤【一】到【七】,完成病理嗓音信号的参数列表。
【步骤十一】选择机器学习算法,训练识别模型,并观测嗓音识别结果。
【步骤十二】根据实验结果,可重复步骤【一】到【十】,重新生成参数列表,并重新训练模型,按照【步骤十一】观测识别结果。得到满意的结果后,选择结果输出方式,实验完成。