您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 声音识别之matlab
声音识别之——Matlab篇声音识别的基本过程•声音的读取•声音的预处理•声音的特征提取•声音的识别声音的读取•[y,Fs,bits]=audioread(‘e:baima.wav');%读出信号,采样率和采样位数•Sound(y,Fs);%播放声音声音的预处理•音频信号的预处理是整个声音识别系统的基础,正确的预处理操作,可以提高识别算法的精度,甚至影响整个系统的识别性能。•1.预处理包括:预加重—分帧—加窗•2.预加重:消除低频干扰,提升更为有用的高频部分的频谱。即将声音信号通过一个高通滤波器:•3.分帧:利用声音信号具有短时平稳性的特点,对声音信号分帧提取其短时特性,处理语音信号时一般取帧长为10-30ms。分帧可以采用连续分段的方法,也可以采用交叠分段的方法,但为了使帧与帧之间过渡平滑,保持其连续性,一般采用交叠分段的方法,前一帧和后一倾交叠的部分称为帧移,帧移一般取帧长的一半。声音的预处理•4.加窗:因为傅立叶变换对应的是无限信号,信号经过分帧后变成有限信号,分帧的信号再进行傅立叶变换后,高频部分将有泄露,所以要加窗.在声音信号处理中常见的窗函数有矩形窗、汉明(Hamming)窗、汉宁(Hanning)窗。加窗图像:使用具有平滑过渡特性的窗口,目的是为了减少帧起始和结束处的信号不连续性。预处理程序:声音的特征提取•声音识别中的特征参数:•1.频率•2.短时过零率•3.短时能量•4.Mel倒谱系数声音的频谱特性:FFT,即快速离散傅立叶变换。由于信号在时域上变化迅速且会随着时间不断的改变,所以不容易观察出周期性的变化,使得在时域上没有办法作有效的观察。为了方便看出信号的特性,通常会将它转换到频域上的能量分布来观察,不同的能量分布,就能代表不同声音的特性。:声音的短时能量:短时能量函数主要用来区分轻音和浊音声音的短时过零率:表示一种语音信号波形穿过横轴的次数。过零分析是语音时域分析中最简单的一种。可以粗略的描述信号的频谱特性,用于区分和判断清音和浊音。端点检测可通过短时能量和短时过零率来做。Mel倒谱系数(MFCC):如图所示由于语音信号在时域上的变化快速而不稳定所以通常都将它转换到频域上来观察。此时它的频谱会随着时间作缓慢的变化,所以通常将声音信号分帧加窗后,经过快速傅立叶变换(FFT),求出每帧的频谱参数,再将每帧的频谱参数通过一组N个(N一般为2030个)三角形带通滤波器所组成的梅尔频率滤波器,将每个频带的输出取对数,求出每一个输出的对数能量(logenergy),再将此N个参数进行余弦变换(cosinetransform),求出L阶的Mel参数。MFCC是在Mel标度频率域提取出来的倒谱参数,Mel标度描述了人耳频率感知的非线性特性,它与频率的关系可用下式近似表示:改进后的MFCC声音识别•SVM是一种训练机器学习的算法,可以用于解决分类和回归问题。•基本原理:将所有待分类的点映射到“高维空间”,然后在高维空间中找到一个能将这些点分开的“超平面”。但是仅仅找到超平面是不够的,因为在通常的情况下,满足条件的“超平面”的个数不是唯一的。SVM需要的是利用这些超平面,找到这两类点之间的“最大间隔”。分类间隔越大,对于未知点的判断会越准确。•优点:做一些非常复杂的数据转换工作,然后根据预定义的标签或者输出进而计算出如何分离用户的数据。•缺点:就是由于更多的运算量,训练的时间要长很多。SVM算法的工具箱很多,共用的最好的是libsvm工具箱。两个主要函数:svmtrain(…)%通过训练集来训练模型svmpredict(…)%对测试集进行预测model=svmtrain(train_label,train_matrix,'option');[predict_label,accuracy,decision_values]=svmpredict(test_label,test_matrix,model);1.train_matrix与test_matrix必须是double型。2.train_label与test_label是列向量。3.option:参数很多,比如-c:损失函数,即是对错分的惩罚参数。-g是一个核函数类型。Svm算法流程:1)设置训练集和样本集需要两组数据,一组是训练集,一组是测试集。2)设置SVM参数通过对训练集的预测训练得到最佳参数。3)训练SVM利用函数svmtrain,利用训练集训练分类器,得到model.4)用这个SVM进行分类预测调用函数svmpredict,利用model对测试集进行分类预测。5)对分类器性能评测分类准确率的高低。这是对猪的五段声音进行分类后的预测的准确率的高低。可以看出,这个算法仍然需要继续改进。
本文标题:声音识别之matlab
链接地址:https://www.777doc.com/doc-5261828 .html