• 大小: 604KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: Matlab
  • 标签: DTW  语音识别  

资源简介

实验最终在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个文件信息

评论

共有 条评论