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 + -
显示快捷键?