matlab DTW语音识别算法调试
来源:互联网 发布:彩虹六号围攻 mac 编辑:程序博客网 时间:2024/04/20 10:36
下载地址:http://download.csdn.net/detail/fzxy002763/4082023
算法不是原创的,由于网上流传版本很多,不过都是独立给出一些m文件,不完整,故笔者整理了一下,调试通过,方便大家学习下dtw算法。
其中dtw_test是测试文件,其他皆为function文件
disp('正在计算参考模板的参数...')for i=1:5fname = sprintf('%da.wav',i);x=fname; [x,fs]=wavread(x);[x1 x2] = vad(x);m = mfcc(x);m = m(x1-2:x2-2,:);ref(i).mfcc = m; % soundview(x);enddisp('正在计算测试模板的参数...')for i=1:1 %[x,fs]=wavread('E:\\3.wav')fname = sprintf('%db.wav',i);x=fname; [x,fs]=wavread(x); [x1 x2] = vad(x);m = mfcc(x);m = m(x1-2:x2-2,:);test(i).mfcc = m;enddisp('正在进行模板匹配...')dist = zeros(1,5);for i=1:1for j=1:5dist(i,j) = dtw(test(i).mfcc, ref(j).mfcc);endenddisp('正在计算匹配结果...')for i=1:1[d,j] = min(dist(i,:));fprintf('测试模板 %d 的识别结果为:%d\n', i, j);end略微改动了下原版,这里两次循环,第一次1~5,主要检索模板,计算梅尔倒普系数等一些声纹特征,然后在第二次循环中进行模板匹配的计算。这里文件命名原则是%da,如1a,1b,测试结果显示为“测试模板%d的识别结果为x”,即意义是哪一个wav文件匹配哪一个文件,如程序测试结果为:
1.vad
2.识别
故是4a.wav匹配1b.wav,可以自行设定理解,PS:录音最好时间差不多,且大于1S,要不然可能会报index exceeds matrix dimensions这种错误。
- matlab DTW语音识别算法调试
- DTW算法(语音识别)
- 【VS开发】【智能语音处理】DTW算法(语音识别)
- 基于DTW算法的语音识别原理与实现
- 语音 识别 MFCC DTW 初谈
- 语音 识别 MFCC DTW 初谈
- 【VS开发】【智能语音处理】特定人语音识别算法—DTW算法
- WAV音频MFCC参数提取 + DTW语音识别算法 C++代码实现
- DTW算法实现及语音模板匹配
- 求解matlab语音识别
- 语言识别之DTW算法及其源码
- DTW算法
- DTW算法
- DTW算法
- DTW算法
- DTW算法
- DTW算法
- 01. 特定人识别中的DTW算法简单介绍
- oracle拼音排序
- vim+ctags命令
- 兴趣图谱必将重塑社交网络及电子商务
- 程序员版狂人日记一
- String中matches用法
- matlab DTW语音识别算法调试
- 提升Android应用视觉效果的10个UI技巧
- 双击文件夹为何显示文件属性
- 【100题】第十七题(google笔试)
- Sharepoint中三个强力的工具(WPManager, OSSEventManager, FriendlyQuery),另增清除已删除用户
- 怎么让虚拟键盘默认弹出数字键盘
- fseek 函数 详解
- 解决Protocol major versions differ: 2 vs. 1
- WebSphere家族