ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:17.15KB ,
资源ID:953597      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/953597.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DTW语音识别算法部分_精品文档.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DTW语音识别算法部分_精品文档.docx

1、附录2:训练函数:train.mdisp(正在生成训练参数);for i=1:20 fname=sprintf(train%d0.wav,i); k,fs=audioread(fname); StartPoint,EndPoint=vad_m(k,fs); cc=mfcc(k); cc=cc(StartPoint-2:EndPoint-2,:); ref(i+1).StartPoint=StartPoint; ref(i+1).EndPoint=EndPoint; ref(i+1).mfcc=cc;enddisp(正在存储模板库);save mfcc.mat ref;disp(存储完毕)附录3

2、:测试函数:dtwtest.mclear;close all;clc;disp(正在导入参考模板参数.);load mfcc.mat;disp(正在计算测试模板的参数.)for i=0:3fname = sprintf(test%d1.wav,i); k,fs=audioread(fname); StartPoint,EndPoint=vad_m(k,fs); cc=mfcc(k); cc=cc(StartPoint-2:EndPoint-2,:); test(i+1).StartPoint=StartPoint; test(i+1).EndPoint=EndPoint; test(i+1).

3、mfcc=cc;enddisp(正在进行模板匹配.)dist = zeros(1,20);for i=1:4 for j=1:20 dist(i,j) = dtw(test(i).mfcc, ref(j).mfcc); endenddisp(正在计算匹配结果.)for i=1:4d,j = min(dist(i,:); if (j=1 & j= 6 & j=11 & j=16 & j=20) fprintf(测试模板%d1.wav 的识别结果为:右转n,i-1); endendclose all;附录4:特征提取函数:vad_m.mfunction StartPoint,EndPoint=va

4、d(k,fs)% StartPoint,EndPoint=vad(k,fs)% 语音信号端点检测程序,k为语音信号,% fs为其采样频率,程序绘制出语音信号% 相关波形图并返回起止端点所对帧号 close all% 幅度归一化到-1,1k=double(k);k=k./max(abs(k);%-% 显示波形%-SNR=5; % 设置SNRsignal=Gnoisegen(k,SNR); % 叠加噪声snr1=SNR_singlech(k,signal); % 计算叠加噪声后的信噪比N=length(k); % 信号长度t=(0:N-1)/fs; % 设置时间IS=.25; % 设置IS% 调用

5、WienerScalart96m_2函数做维纳滤波output=WienerScalart96m_2(signal,fs,IS,0.12);ol=length(output); % 把output补到与x等长if olN output=output; zeros(N-ol,1);endsnr2=SNR_singlech(k,output); % 计算维纳滤波后的信噪比snr=snr2-snr1;fprintf(snr1=%5.4f snr2=%5.4f snr=%5.4fn,snr1,snr2,snr);subplot 311; plot(t,k,k); grid; axis tight;ti

6、tle(纯语音波形); ylabel(幅值)subplot 312; plot(t,signal,k); grid; axis tight;title(带噪语音 信噪比= num2str(SNR) dB); ylabel(幅值)subplot 313; plot(t,output,k);grid; ylim(-1 1);title(维纳滤波后波形); ylabel(幅值); xlabel(时间/s);disp(显示原始波形图);t=0:1/fs:(length(k)-1)/fs;% subplot(3,1,1);plot(t,k);axis(0,(length(k)-1)/fs,min(k),

7、max(k);title(语音信号波形);xlabel(Time:s);ylabel(Amplitude(normalized);disp(显示语音起始处放大波形图);t1=0.2:1/fs:0.3;k1=k(0.2*fs:0.3*fs);subplot(3,1,2);plot(t1,k1);axis(0.2,0.3,min(k),max(k);title(II) “00.wav”语音起始处放大波形图);xlabel(Time:s);ylabel(Amplitude(normalized);disp(显示语音结束处放大波形图);t1=0.4:1/fs:0.5;k1=k(0.4*fs:0.5*f

8、s);subplot(3,1,3);plot(t1,k1);axis(0.4,0.5,min(k),max(k);title(III) “00.wav”语音结束处放大波形图);xlabel(Time:s);ylabel(Amplitude(normalized);%-% 计算短时过零率%-k=output;FrameLen=240;FrameInc=80;FrameTemp1=enframe(k(1:end-1),FrameLen,FrameInc);FrameTemp2=enframe(k(2:end),FrameLen,FrameInc);signs=(FrameTemp1.*FrameT

9、emp2)0.01;zcr=sum(signs.*diffs,2);zcrm=multimidfilter(zcr,5);disp(显示原始波形图);figure,subplot(3,1,1);plot(t,k);axis(0,(length(k)-1)/fs,min(k),max(k);title(I) 语音信号波形);xlabel(Time:s);ylabel(Amplitude(normalized);disp(显示短时过零率)zcrInd=1:length(zcrm);subplot(3,1,2);plot(zcrInd,zcr);axis(0,length(zcr),0,max(zc

10、r);title(II) 短时过零率);xlabel(Frame);ylabel(Zcr);%-% 计算短时能量%-amp=sum(abs(enframe(filter(1 -0.9375, 1, k), FrameLen, FrameInc), 2);ampm=multimidfilter(amp,5);disp(显示短时能量)ampInd=1:length(ampm);subplot(3,1,3);plot(ampInd,amp);axis(0,length(amp),0,max(amp);title(III) 短时能量);xlabel(Frame);ylabel(Energy);% -%

11、 设置门限%-disp(设置门限);ZcrLow=max(round(mean(zcr)*0.1),3); %过零率低门限ZcrHigh=max(round(max(zcr)*0.1),5); %过零率高门限AmpLow=min(min(amp)*10,mean(amp)*0.2,max(amp)*0.1); %能量低门限AmpHigh=max(min(amp)*10,mean(amp)*0.2,max(amp)*0.1); %能量高门限%-% 端点检测%-MaxSilence=30; %最长语音间隙时间MinAudio=15; %最短语音时间Status=0; %状态:0静音段,1过渡段,2语音段,3结束段HoldTime=0; %语音持续时间SilenceTime=0; %语音间隙时间disp(开始端点检测);for n=1:length(zcr) switch Status case0,1 if amp(n)AmpHigh | zcr(n)ZcrHigh StartPoint=n-HoldTime; Status=2;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1