资源简介
实验最终在MATLAB平台的基础上基本实现了0到9的特定人语音识别,识别率为100%,达到了预定的目的。基于DTW模型的语音识别简单的说就是通过MATLAB的程序段,将待识别的语音信号与数据库中的模板进行相似度对比,将相似度最高者最为识别结果输出,同时DTW的识别效率取决于参考模板的清晰度以及广泛度,如果能够建立一个范围庞大而且清晰的特定人语音库,将能够大大提高语音识别的效率。
代码片段和文件信息
function dist = dtw(test ref)
global x y_min y_max
global t r
global D d
global m n
t = test;
r = ref;
n = size(t1);
m = size(r1);
d = zeros(m1);
D = ones(m1) * realmax;
D(1) = 0;
% 如果两个模板长度相差过多,匹配失败
if (2*m-n<3) | (2*n-m<2)
dist = realmax;
return
end
% 计算匹配区域
xa = round((2*m-n)/3);
xb = round((2*n-m)*2/3);
if xb>xa
%xb>xa 按下面三个区域匹配
% 1 :xa
% xa+1:xb
% xb+1:N
for x = 1:xa
y_max = 2*x;
y_min = round(0.5*x);
warp
end
for x = (xa+1):xb
y_max = round(0.5*(x-n)+m);
y_min = round(0.5*x);
warp
end
for x = (xb+1):n
y_max = round(0.5*(x-n)+m);
y_min = round(2*(x-n)+m);
warp
end
elseif xa>xb
%xa>xb 按下面三个区域匹配
% 0 :xb
% xb+1:xa
% xa+1:N
for x = 1:xb
y_max = 2*x;
y_min = round(0.5*x);
warp
end
for x = (xb+1):xa
y_max = 2*x;
y_min = round(2*(x-n)+m);
warp
end
for x = (xa+1):n
y_max = round(0.5*(x-n)+m);
y_min = round(2*(x-n)+m);
warp
end
elseif xa==xb
%xa=xb 按下面两个区域匹配
% 0 :xa
% xa+1:N
for x = 1:xa
y_max = 2*x;
y_min = round(0.5*x);
warp
end
for x = (xa+1):n
y_max = round(0.5*(x-n)+m);
y_min = round(2*(x-n)+m);
warp
end
end
%返回匹配分数
dist = D(m);
function warp
global x y_min y_max
global t r
global D d
global m n
d = D;
for y = y_min:y_max
D1 = D(y);
if y>1
D2 = D(y-1);
else
D2 = realmax;
end
if y>2
D3 = D(y-2);
else
D3 = realmax;
end
d(y) = sum((t(x:)-r(y:)).^2) + min([D1D2D3]);
end
D = d;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-24 10:53 程序\
目录 0 2019-05-24 10:53 程序\m文件\
文件 1542 2009-08-27 00:20 程序\m文件\dtw.m
文件 1020 2018-11-27 09:40 程序\m文件\mfcc.m
文件 177098 2018-12-01 10:56 程序\m文件\mfcc.mat
文件 603 2018-12-01 10:44 程序\m文件\recognition.m
文件 442 2018-12-01 10:42 程序\m文件\train.m
文件 4520 2018-11-27 15:38 程序\m文件\vad.m
文件 2615 2018-11-30 15:31 程序\m文件\vads.m
目录 0 2019-05-24 10:53 程序\test\
文件 46906 2018-12-01 10:31 程序\test\01.wav
文件 33850 2018-12-01 10:31 程序\test\11.wav
文件 59962 2018-12-01 10:33 程序\test\21.wav
文件 59194 2018-12-01 10:33 程序\test\31.wav
文件 36922 2018-12-01 10:33 程序\test\41.wav
文件 46906 2018-12-01 10:35 程序\test\51.wav
文件 37690 2018-12-01 10:35 程序\test\61.wav
文件 36922 2018-12-01 10:35 程序\test\71.wav
文件 38458 2018-12-01 10:37 程序\test\81.wav
文件 43834 2018-12-01 10:37 程序\test\91.wav
目录 0 2019-05-24 10:53 程序\train\
文件 34618 2018-12-01 10:20 程序\train\00.wav
文件 33850 2018-12-01 10:20 程序\train\10.wav
文件 39994 2018-12-01 10:20 程序\train\20.wav
文件 40762 2018-12-01 10:22 程序\train\30.wav
文件 34618 2018-12-01 10:22 程序\train\40.wav
文件 33850 2018-12-01 10:24 程序\train\50.wav
文件 36922 2018-12-01 10:24 程序\train\60.wav
文件 41530 2018-12-01 10:30 程序\train\70.wav
文件 35386 2018-12-01 10:30 程序\train\80.wav
文件 47674 2018-12-01 10:30 程序\train\90.wav
............此处省略0个文件信息
- 上一篇:质心定位算法MATLAB仿真
- 下一篇:simuli
nk整车模型
相关资源
- 基于 HMM算法的语音识别的matlab程序
- 基于DTW的全局平均方法(求解平均序
- matlab实现DTW算法
- 利用matlab实现dtw
- 孤立语音识别
- 语音识别matlab
- dwt算法matlab实现
- 基于MATLAB实现说话人识别含源程序
- 基于MATLAB的语音识别系统的设计实现
- Matlab男女声在线识别系统
- MATLAB环境下的基于HMM模型的语音识别
- 基于MATLAB的数字语音识别
- 基于MATLAB实现的说话人识别程序,分
- MATLAB语音识别系统含源代码
- 毕设 开题报告
- 说话人识别和确认系统Matlab).rar
- 基于MATLAB实现DTW算法
- dtw的matlab程序
- svm分类器的汉语声调识别
- GMM,HMM的语音识别,说话人识别源码
- 语音识别算法matlab 源代码!完整!可
- 基于HMM和DTW算法的孤立词识别
- 孤立词语音识别系统的MATLAB实现
- 说话人识别MATLAB GUI界面设计
- 含神经网络、卷积神经网络、深度信
- HMMforspeechrecogntion 一个可执行的HMM语音
- VQ-Matlab 基于矢量量化的孤立词语音识
- speechRHMM HMM语音识别的matlab程序
- HMMshuziyuyinshibie 基于HMM的数字语音识别
- mfccPSVM 本实例程序是基于matlab的语音
评论
共有 条评论