clear all
close
clc;
disp('正在计算参考模板的参数...')
for i=1:10
fname=sprintf('%d0.mp3',i-1);
[x,fs]=audioread(fname);
sound(x,fs);
[x1 x2]=vad(x);
% x1=abs(round(x1));
% x2=abs(round(x2));
m=mfcc(x);
m=m(x1-2:x2-4,:);
ref(i).mfcc=m;
end
disp('正在分析语音信号...')
for i=1:10
fname=sprintf('%d0.mp3',i-1);
%[x,fs,bit]=audioread(fname,[2000,2512]); %采样%
[x,fs]=audioread(fname,[2000,2512]);
%sound(x,fs); %播放语音信号
figure(i);
subplot(3,3,1);
plot(x(1:256)); %原始语音信号的时域图形%
title('原始信号')
subplot(3,3,2)
[h,w]=freqz(x,fs); %原始语音信号的频率响应图
hr=abs(h); %求系统幅频响应
plot(w,hr);
title('幅频图');
xlabel('Frequency in rad mple')
ylabel('Magnitude in dB')
subplot(3,3,3)
hphase=angle(h);
hphase=unwrap(hphase); %求系统相频响应
plot(w,hphase);
title('相频图');
xlabel('Frequency in rad mple')
ylabel('Phase in degrees')
y=fft(x,512); %傅立叶变换%
mag=abs(y);
mag1=10*log10(mag);
f=fs*(0:255)/512;
subplot(3,3,4)
plot(f,mag(1:256)); %FFT频谱图 %
title('fft变换后信号')
iff=ifft(y,512); %反傅立叶变换%
ifm=abs(iff);
subplot(3,3,5)
plot(f,ifm(1:256))
title('ifft后信号')
% 短时傅里叶变换
Ts=1/fs;
%N=T/Ts;
N=512;
Nw=20; %窗函数长
L=Nw/2; %窗函数每次移动的样点数
Tn=(N-Nw)/L+1; %计算把数据x共分成多少段
nfft=32;%FFT的长度
Tn=round(Tn);
TF=zeros(Tn,nfft); %将存放三维谱图,先清零
for i=1:Tn
xw=x((i-1)*10+1:i*10+10); %取一段数据
temp=fft(xw,nfft); %FFT变换
temp=fftshift(temp); %频谱以0频为中心
for j=1:nfft
TF(i,j)=temp(j); %把谱图存放在TF中
end
end
subplot(3,3,6)
fnew=((1:nfft)-nfft/2)*fs/nfft;
tnew=(1:Tn)*L*Ts;
[F,T]=meshgrid(fnew,tnew);
mesh(F,T,abs(TF))
title('短时傅立叶变换时频图')
subplot(3,3,7)
contour(F,T,abs(TF))
title('等高线表示')
end
disp('正在计算测试模板的参数...')
for i=1:10
fname=sprintf('%d2.mp3',i-1);
x=audioread(fname);
[x1 x2]=vad(x);
m=mfcc(x);
m=m(x1-2:x2-4,:);
test(i).mfcc=m;
end
disp('正在进行模板匹配...')
dist=zeros(10,10);
for i=1:10
for j=1:10
dist(i,j)=dtw(test(i).mfcc,ref(j).mfcc);
end
end
disp('正在计算匹配结果...')
for i=1:10
[d,j]=min(dist(i,:));
fprintf('测试信号%d的识别结果为:%d\n',i-1,j-1);
end
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
数字语音识别.rar (63个子文件)
数字语音识别
01.wav 292KB
91.mp3 14KB
31.wav 366KB
42.mp3 14KB
11.wav 242KB
20.wav 303KB
00.mp3 12KB
30.mp3 12KB
62.mp3 12KB
90.wav 331KB
test2.m 733B
50.mp3 12KB
test1.m 736B
02.mp3 13KB
12.mp3 12KB
01.mp3 12KB
21.wav 252KB
00.wav 277KB
32.mp3 14KB
testdtw.m 335B
91.wav 413KB
vad.m 1KB
melbankm.m 1KB
81.mp3 10KB
41.mp3 13KB
yuyinshibie.m 2KB
80.wav 371KB
51.mp3 12KB
20.mp3 11KB
enframe.m 368B
31.mp3 12KB
21.mp3 11KB
72.mp3 13KB
60.wav 292KB
mfcc.m 803B
41.wav 282KB
61.wav 324KB
71.mp3 12KB
22.mp3 12KB
82.mp3 12KB
92.mp3 13KB
71.wav 298KB
myDTW.m 481B
dtw.m 437B
11.mp3 11KB
52.mp3 12KB
10.wav 326KB
40.mp3 13KB
30.wav 333KB
70.wav 352KB
10.mp3 11KB
80.mp3 10KB
50.wav 320KB
yuyinshibie.asv 2KB
70.mp3 12KB
Idtw.m 363B
81.wav 245KB
Idtw.asv 360B
60.mp3 11KB
40.wav 313KB
51.wav 303KB
61.mp3 11KB
90.mp3 14KB
共 63 条
- 1
资源评论
程序员小小小小白
- 粉丝: 6
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功