网站大量收购独家精品文档,联系QQ:2885784924

《语音信号处理》实验4-MFCC特征提取.doc

《语音信号处理》实验4-MFCC特征提取.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华南理工大学 《语音信号处理》实验报告 实验名称:MFCC特征提取 姓名: 学号: 班级:10级电信5班 日期:2013年5 月24日 1.实验目的 熟练运用MATLAB软件进行语音信号实验; 熟悉短时分析原理、MFCC的原理; 学习运用MATLAB编程进行MFCC的提取; 学会利用短时分析原理提取MFCC特征序列;  2. 实验原理 MFCC: 语音识别和说话人识别中,常用的语音特征是基于Mel频率的倒谱系数(即MFCC)。MFCC参数是将人耳的听觉感知特性和语音的产生机制相结合。 Mel频率可以用如下公式表示: 在实际应用中,MFCC倒谱系数计算过程如下; = 1 \* GB3 ① 将信号进行分帧,预加重和加汉明窗处理,然后进行短时傅里叶变换并得到其频谱。 = 2 \* GB3 ② 求出频谱平方,即能量谱,并用M个Mel带通滤波器进行滤波;由于每一个频带中分量的作用在人耳中是叠加的。因此将每个滤波器频带内的能量进行叠加,这时第k个滤波器输出功率谱。 = 3 \* GB3 ③ 将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到L个MFCC系数,一般L取12~16个左右。MFCC系数为 , n=1,2,...,L = 4 \* GB3 ④ 将这种直接得到的MFCC特征作为静态特征,再将这种静态特征做一阶和二阶差分,得到相应的动态特征。 3. 实验数据及平台 本实验所采用的数据是语音文件phrase.WAV和monologue speech_female,平台是MATLAB。 4. 实验过程(步骤) (1)实验步骤 = 1 \* GB3 ① 输入样本音频 = 2 \* GB3 ② 给样本音频预加重、分帧、加窗 = 3 \* GB3 ③ 将处理好的样本音频做傅里叶变换 = 4 \* GB3 ④ 进行Mel频率滤波 = 5 \* GB3 ⑤ 进行Log对数能量 = 6 \* GB3 ⑥ 对样本求倒谱 = 7 \* GB3 ⑦ 输出MFCC图像 、MFCC提取程序流程图 s(n) Mel频率滤波组DFT/FFT预加重、分帧、加窗s(n) X(k) X(k) Mel频率滤波组 DFT/FFT 预加重、分帧、加窗 DCT求倒谱 Log对数能量 DCT求倒谱 Log对数能量 图1 MFCC特征提取 5. 实验结果及讨论 运行附录程序,得到的结果为: 采用语音文件phrase.WAV,得到的MFCC特征提取图像为: 采用语音文件monologue speech_female.wav,得到的MFCC特征提取图像为: 通过计算MFCC参数,获得了声纹识别的特征参数。由于MFCC参数是对人耳听觉特征的描述,因此,可以认为,不同声纹的MFCC参数距离,能够代表人耳对两个语音听觉上的差异,可以为声纹的识别提供可靠的依据。  6. 实验总结 在上一次做了LPC特征提取的实验之后,对这方面已经有了一定的认识,这次通过课堂的学习和资料的查找,对MFCC特征提取进行探究和验证,真正把课堂知识用到实验之中,对相关知识的理解和掌握起了比较好的作用。 7. 实验代码 close all clear clc [x]=wavread(E:\yuuyin\monologue speech_female.wav); bank=melbankm(24,256,8000,0,0.5,m); bank=full(bank); bank=bank/max(bank(:)); for k=1:12 n=0:23; dctcoef(k,:)=cos((2*n+1)*k*pi/(2*24)); end w = 1 + 6 * sin(pi * [1:12] ./ 12); w = w/max(w); % 预加重滤波器 xx=double(x); xx=filter([1 -0.9375],1,xx); % 语音信号分帧 xx=enframe(xx,256,80); % 计算每帧的MFCC参数 for i=1:size(xx,1) y = xx(i,:); s = y .* hamming(256); t = abs(fft(s)); t = t.^2; c1=dctcoef * log(bank * t(1:129)); c2 = c1.*w; m(i,:)=c2; end figure plot(m);xlabel(帧数);ylabel(幅度);title(MFCC);

文档评论(0)

188****7657 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档