实验三语音信号的特征提取最终实验报告

上传人:xmg****18 文档编号:121231675 上传时间:2020-02-19 格式:DOC 页数:14 大小:191KB
返回 下载 相关 举报
实验三语音信号的特征提取最终实验报告_第1页
第1页 / 共14页
实验三语音信号的特征提取最终实验报告_第2页
第2页 / 共14页
实验三语音信号的特征提取最终实验报告_第3页
第3页 / 共14页
实验三语音信号的特征提取最终实验报告_第4页
第4页 / 共14页
实验三语音信号的特征提取最终实验报告_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《实验三语音信号的特征提取最终实验报告》由会员分享,可在线阅读,更多相关《实验三语音信号的特征提取最终实验报告(14页珍藏版)》请在金锄头文库上搜索。

1、.专业整理.实验三语音信号的特征提取一、 实验目的1、 熟练运用MATLAB软件进行语音信号实验。2、 熟悉短时分析原理、MFCC、LPC的原理。3、 学习运用MATLAB编程进行MFCC、LPC的提取。4、学会利用短时分析原理提取MFCC、LPC特征序列。二、 实验仪器设备及软件HP D538、MATLAB三、 实验原理1、 MFCC语音识别和说话人识别中,常用的语音特征是基于Mel频率的倒谱系数(即MFCC)。MFCC参数是将人耳的听觉感知特性和语音的产生机制相结合。Mel频率可以用如下公式表示:在实际应用中,MFCC倒谱系数计算过程如下; 将信号进行分帧,预加重和加汉明窗处理,然后进行短

2、时傅里叶变换并得到其频谱。 求出频谱平方,即能量谱,并用M个Mel带通滤波器进行滤波;由于每一个频带中分量的作用在人耳中是叠加的。因此将每个滤波器频带内的能量进行叠加,这时第k个滤波器输出功率谱。 将每个滤波器的输出取对数,得到相应频带的对数功率谱;并进行反离散余弦变换,得到L个MFCC系数,一般L取1216个左右。MFCC系数为, n=1,2,.,L 将这种直接得到的MFCC特征作为静态特征,再将这种静态特征做一阶和二阶差分,得到相应的动态特征。2、 LPC由于频率响应反映声道的频率响应和被分析信号的谱包络,因此用做反傅里叶变换求出的LPC倒谱系数。通过线性预测分析得到的合成滤波器的系统函数

3、为,其冲激响应为h(n)。h(n)的倒谱为,就是说的逆变换是存在的。设,将式两边同时对求导,得得到,于是有令其左右两边z的各次幂前系数分别相等,得到和间的递推关系 ,按其可直接从预测系数求得倒谱。这个倒谱是根据线性预测模型得到的,又称为LPC倒谱。LPC倒谱由于利用线性预测中声道系统函数H(z)的最小相位特性,因此避免了一般同态处理中求复对数的麻烦。四、 实验步骤及程序1、MFCC(1)、实验步骤 输入样本音频 给样本音频预加重、分帧、加窗 将处理好的样本音频做傅里叶变换 进行Mel频率滤波 进行Log对数能量 对样本求倒谱 输出MFCC图像(2) 、MFCC提取程序流程图 s(n) Mel频

4、率滤波组DFT/FFT预加重、分帧、加窗s(n) X(k) X(k)DCT求倒谱 Log对数能量图3.1 MFCC特征提取(3)、MFCC特征提取实验源程序close allclearclcx=wavread(1.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); % 预加重滤波器

5、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;endfigureplot(m);xlabel(帧数);ylabel(幅度);title(MFCC);2、LPC(1)、实验步骤1、输入原始语音2、对样本语音进

6、行加窗处理3、计算LPC系数4、建立语音正则方程5、输出原始样本语音、预测语音波形和预测误差6、输出LPC谱7、求出预测误差的倒谱8、输出原始语音和预测语音的语谱图(2)实验流程输出图像建立语音正则方程计算LPC系数加窗处理输入原始语音图3.2 LPC系数实验流程图(3)、LPC系数实验源代码I = wavread(1.wav);%读入原始语音%subplot(3,1,1),plot(I);title(原始语音波形)%对指定帧位置进行加窗处理Q = I;N = 256; % 窗长Hamm = hamming(N); % 加窗frame = 60;%需要处理的帧位置M = Q(frame - 1

7、) * (N / 2) + 1):(frame - 1) * (N / 2) + N);Frame = M .* Hamm;%加窗后的语音帧 B,F,T = specgram(I,N,N/2,N); m,n = size(B);for i = 1:m FTframe1(i) = B(i,frame);end P =input(请输入预测器阶数 = ); ai = lpc(Frame,P); % 计算lpc系数LP = filter(0 -ai(2:end),1,Frame); % 建立语音帧的正则方程FFTlp = fft(LP);E = Frame - LP; % 预测误差subplot(2

8、,1,1),plot(1:N,Frame,1:N,LP,-r);grid;title(原始语音和预测语音波形)subplot(2,1,2),plot(E);grid;title(预测误差);pause fLength(1 : 2 * N) = M,zeros(1,N); Xm = fft(fLength,2 * N);X = Xm .* conj(Xm);Y = fft(X , 2 * N);Rk = Y(1 : N);PART = sum(ai(2 : P + 1) .* Rk(1 : P);G = sqrt(sum(Frame.2) - PART); A = (FTframe1 - FFT

9、lp(1 : length(F) ./ FTframe1 ; subplot(2,1,1),plot(F,20*log(abs(FTframe1),F,(20*log(abs(1 ./ A),-r);grid;xlabel(频率/dB);ylabel(幅度);title(短时谱);subplot(2,1,2),plot(F,(20*log(abs(G ./ A);grid;xlabel(频率/dB);ylabel(幅度);title(LPC谱);pause %求出预测误差的倒谱pitch = fftshift(rceps(E);M_pitch = fftshift(rceps(Frame);s

10、ubplot(2,1,1),plot(M_pitch);grid;xlabel(语音帧);ylabel(/dB);title(原始语音帧倒谱);subplot(2,1,2),plot(pitch);grid;xlabel(语音帧);ylabel(/dB);title(预测误差倒谱);pause %画出语谱图ai1 = lpc(I,P); % 计算原始语音lpc系数LP1 = filter(0 -ai(2:end),1,I); % 建立原始语音的正则方程subplot(2,1,1); specgram(I,N,N/2,N); title(原始语音语谱图);subplot(2,1,2);specg

11、ram(LP1,N,N/2,N); title(预测语音语谱图);五、 实验结果与分析1、MFCC图3.3 MFCC特征提取图像通过计算MFCC参数,获得了声纹识别的特征参数。由于MFCC参数是对人耳听觉特征的描述,因此,可以认为,不同声纹的MFCC参数距离,能够代表人耳对两个语音听觉上的差异,可以为声纹的识别提供可靠的依据。2、LPC图3.4 原始语音波形请输入预测器阶数 = 12图3.5原始语音和预测语音波形及预测误差波形图3.6 短时谱和LPC谱波形图3.7原始语音帧倒谱和预测误差倒谱波形图3.8原始语音和预测语音语谱图LPC系数ai = Columns 1 through 8 1.0000 -1.0914 0.5025 -0.7485 0.1557 0.2863 0.0744 0.2411 Columns 9 through 13 -0.2815 0.1132 -0.2464 0.3990 -0.1947通过计算LPC系数可以很好的利用先行预测中声道系统函数的最小相位特性来提取特征函数6、 实验体会通过本次实验是我更加熟练运用MATLAB软件进行编程,对MFCC和LPC两种特征序列的提取原理有了更深的理解,能够更好地运用课堂上所学的基础知识运用到实验当中,对于以后的学习有了很大的帮助。 .学习帮手.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号