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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华南理工大学《语音信号处理》实验报告

实验名称:MFCC特征提取

姓名:

学号:

班级:10级电信5班

日期:2013年5 月24日

1.实验目的

1、熟练运用MATLAB 软件进行语音信号实验;

2、熟悉短时分析原理、MFCC 的原理;

3、学习运用MATLAB 编程进行MFCC 的提取;

4、学会利用短时分析原理提取MFCC 特征序列;

2. 实验原理

MFCC :

语音识别和说话人识别中,常用的语音特征是基于Mel 频率的倒谱系数(即MFCC )。MFCC 参数是将人耳的听觉感知特性和语音的产生机制相结合。 Mel 频率可以用如下公式表示:

)700/1log(2595f f Mel +⨯=

在实际应用中,MFCC 倒谱系数计算过程如下;

① 将信号进行分帧,预加重和加汉明窗处理,然后进行短时傅里叶变换并得到其频谱。

② 求出频谱平方,即能量谱,并用M 个Mel 带通滤波器进行滤波;由于每一个频带中分量的作用在人耳中是叠加的。因此将每个滤波器频带内的能量进行叠

加,这时第k 个滤波器输出功率谱)('

k x 。

③ 将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到L 个MFCC 系数,一般L 取12~16个左右。MFCC 系数为

∑=-=M

k M n k k x Cn 1']

/)5.0(cos[)(log π, n=1,2,...,L

④ 将这种直接得到的MFCC 特征作为静态特征,再将这种静态特征做一阶和二阶差分,得到相应的动态特征。

3. 实验数据及平台

本实验所采用的数据是语音文件phrase.WAV 和monologue speech_female ,平台

是MATLAB 。

4. 实验过程(步骤)

(1)实验步骤

①输入样本音频

②给样本音频预加重、分帧、加窗

③将处理好的样本音频做傅里叶变换

④进行Mel频率滤波

⑤进行Log对数能量

⑥对样本求倒谱

⑦输出MFCC图像

(2)、MFCC提取程序流程图

图1 MFCC特征提取

5. 实验结果及讨论

运行附录程序,得到的结果为:

1、采用语音文件phrase.WAV,得到的MFCC特征提取图像为:

2、采用语音文件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');

相关文档
最新文档