基于RTW的语者识别matlab源程序


这是一个完整的语者识别系统~基于matlab利用动态时间规整算法(RTW)实现语者识别~代码注释详尽,系统界面美观功能全面~
资源截图
代码片段和文件信息
function dist = dtw(test ref)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%动态时间规整算法,求测试信号与模板信号的失真距离
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

global x y_min y_max
global t r                                                                 %t表示测试信号,r代表参考模板                                                          
global D d                                                                 %D表示帧累积距离,d代表帧距离
global m n                                                                 %m表示模板信号的帧数,n表示测试信号的帧数

t = test;
r = ref;
n = size(t1);
m = size(r1);

d = zeros(m1);                                                            %初始化矩阵d和D
D =  ones(m1) * realmax;                                                  %realmax表示最大正浮点数,值为1.7977e+308,无穷大
D(1) = 0;

% 如果两个模板长度相差过多,匹配失败
if (2*m-n<3) | (2*n-m<2)
dist = realmax;
return
end

% 计算匹配区域
xa = round((2*m-n)/3);%round上取整
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);%所得距离赋值给矩阵dist

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;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2174  2011-05-08 20:22  基于RTW语者识别matlab程序dtw.asv

     文件       2247  2011-05-08 20:29  基于RTW语者识别matlab程序dtw.m

     文件      28583  2011-05-11 21:38  基于RTW语者识别matlab程序help.txt

     文件     156532  2011-05-17 21:13  基于RTW语者识别matlab程序login.exe

     文件      10966  2011-05-10 22:06  基于RTW语者识别matlab程序login.fig

     文件       6762  2011-05-13 12:53  基于RTW语者识别matlab程序login.m

     文件      31867  2011-05-17 21:13  基于RTW语者识别matlab程序login.prj

     文件       3010  2011-05-17 21:13  基于RTW语者识别matlab程序login_main.c

     文件       6323  2011-05-17 21:13  基于RTW语者识别matlab程序login_mcc_component_data.c

     文件      14505  2011-05-17 15:33  基于RTW语者识别matlab程序main.asv

     文件      18235  2011-05-13 23:39  基于RTW语者识别matlab程序main.fig

     文件      14505  2011-05-17 16:10  基于RTW语者识别matlab程序main.m

     文件     672631  2011-05-17 21:13  基于RTW语者识别matlab程序mccExcludedFiles.log

     文件        549  2011-04-23 23:14  基于RTW语者识别matlab程序melbankm.m

     文件       4560  2011-05-17 16:18  基于RTW语者识别matlab程序mfcc.asv

     文件       4556  2011-05-17 16:21  基于RTW语者识别matlab程序mfcc.m

     文件     703885  2011-05-17 20:33  基于RTW语者识别matlab程序modelmfcc.mat

     文件      23492  2011-04-18 11:57  基于RTW语者识别matlab程序photosackground.jpg

     文件       2714  2011-04-18 12:50  基于RTW语者识别matlab程序photosackground2.jpg

     文件       3276  2011-04-18 12:50  基于RTW语者识别matlab程序photosackground3.jpg

     文件       2057  2011-04-18 12:50  基于RTW语者识别matlab程序photosackground4.jpg

     文件       3459  2011-04-18 12:51  基于RTW语者识别matlab程序photosackground5.jpg

     文件       1955  2011-05-10 21:37  基于RTW语者识别matlab程序photosackground6.jpg

     文件      22134  2011-04-18 11:23  基于RTW语者识别matlab程序photosutton1.bmp

     文件       2382  2011-04-19 15:22  基于RTW语者识别matlab程序photosutton2.jpg

     文件      22812  2011-04-26 09:53  基于RTW语者识别matlab程序photosutton3.jpg

     文件     144870  2011-04-21 17:58  基于RTW语者识别matlab程序photoslog.bmp

     文件      16288  2011-05-10 21:49  基于RTW语者识别matlab程序photoslog2.jpg

     文件       9112  2011-05-17 21:13  基于RTW语者识别matlab程序
eadme.txt

     文件       8048  2011-05-17 15:23  基于RTW语者识别matlab程序RecognitionResult.asv

............此处省略17个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)