• 大小: 1.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-16
  • 语言: Matlab
  • 标签: 语者识别  matlab  RTW  

资源简介

这是一个完整的语者识别系统~基于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程序\photos\background.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

评论

共有 条评论