⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdtw.m

📁 dtw 算法的matlab实现 源代码不加修改久可以执行
💻 M
字号:
disp('正在计算参考模板的参数...')
for i=1:10
	fname = sprintf('..\\录音\\%da.wav',i-1);%备注:该部分就是您要录制的语音样本(0-9的数字录音)该例程中用了20个.wav格式的录音:0a.wav,1a.wav....,9a.wav,0b.wav,1b.wav......,9b.wav,分别保存了0到9的发音前10个用于参考训练,后10个作为测试。
	x = wavread(fname);
	[x1 x2] = vad(x);
	m = mfcc(x);
	m = m(x1-2:x2-2,:);
	ref(i).mfcc = m;
end

disp('正在计算测试模板的参数...')
for i=1:10
	fname = sprintf('..\\录音\\%db.wav',i-1);
	x = wavread(fname);
	[x1 x2] = vad(x);
	m = mfcc(x);
	m = m(x1-2:x2-2,:);
	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, j);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -