m2_merge.m
来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 106 行
M
106 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% m2_merge.m (from mergseg1.m)
%
% jmw
%
% 7/25/94
% 4/15/94
%
% merges adjacent like segments together
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% merge alike segments together
%out_tmp_choice_1 = [];
%out_tmp_choice_2 = [];
% do segment #1 (silence) first (copy directly)
out_seg_cnt = 1;
out_tmp_seg_frame(1,:) = tmp_seg_frame(1,:);
out_tmp_seg_range(1,:) = tmp_seg_range(1,:);
out_tmp_seg_type(1) = tmp_seg_type(1);
out_tmp_choice_1(1,:) = tmp_choice_1(1,:);
out_tmp_choice_2(1,:) = num2str(tmp_choice_2(1,:));
%out_tmp_choice_1 = num2str(out_tmp_choice_1);
o_tmp_reliabil_1(1) = tmp_reliability_1(1);
o_tmp_reliabil_2(1) = tmp_reliability_2(1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% do rest of segments
for i=2:tmp_seg_cnt,
if(strcmp(tmp_choice_1(i,:),out_tmp_choice_1(out_seg_cnt,:)))
% new input is same as old output
out_tmp_seg_range(out_seg_cnt,2)=tmp_seg_range(i,2);
out_tmp_seg_frame(out_seg_cnt,2)=tmp_seg_frame(i,2);
else
% new input is different from old output
% update output
out_seg_cnt = out_seg_cnt + 1;
out_tmp_choice_1(out_seg_cnt,:) = tmp_choice_1(i,:);
out_tmp_choice_2(out_seg_cnt,:) = ' merge';
out_tmp_seg_range(out_seg_cnt,1)=tmp_seg_range(i,1);
out_tmp_seg_frame(out_seg_cnt,1)=tmp_seg_frame(i,1);
out_tmp_seg_range(out_seg_cnt,2)=tmp_seg_range(i,2);
out_tmp_seg_frame(out_seg_cnt,2)=tmp_seg_frame(i,2);
out_tmp_seg_type(out_seg_cnt) = tmp_seg_type(i);
o_tmp_reliabil_1(out_seg_cnt)=tmp_reliability_1(i);
o_tmp_reliabil_2(out_seg_cnt)=tmp_reliability_2(i);
end;
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% save results in one big file: *_SegNLabels
tmp_seg_range = out_tmp_seg_range;
tmp_seg_cnt = out_seg_cnt;
tmp_seg_frame=out_tmp_seg_frame;
tmp_choice_1 = out_tmp_choice_1;
tmp_choice_2 = out_tmp_choice_2;
tmp_seg_type = out_tmp_seg_type;
tmp_reliability_1 = o_tmp_reliabil_1;
tmp_reliability_2 = o_tmp_reliabil_2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% repaint windows if they are open ...
if (~isempty(ww1_h))
ww1_ok;
m2_ww1;
end;
if (~isempty(ww2_h))
ww2_ok;
m2_ww2;
end;
% refresh display
m2_d1_di;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% clean up time
clear out_tmp_choice_1 out_tmp_seg_type
clear o_tmp_reliabil_1 out_tmp_choice_2
clear o_tmp_reliabil_2 out_tmp_seg_frame
clear out_seg_cnt out_tmp_seg_range
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?