ww1_s.m
来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 77 行
M
77 行
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% ww1_s.m
%
% jmw
% 7/25/94
%
% slider processing for window 1 (segment boundaries)
%
% find slider that was moved and quantize to closest beginning
% boundary of frame.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=2:(tmp_seg_cnt),
NEW_SB(i)=get(ww1_s_h(i-1),'Value');
if (NEW_SB(i) ~= TMP_SB(i))
% change has occured
% find closest frame beginning within limits
fr_error = abs(tmp_range(:,1) - NEW_SB(i) );
[sort_fr_error, index]=sort(fr_error);
% the closest frame beginning is in index(1)
% now, check if within limits ...
% case #1: beginning segment
if (i==2)
if (tmp_range(index(1),1) <= 1)
TMP_SB(2) = tmp_range(2,1);
elseif(tmp_range(index(1),1) >= TMP_SB(3) )
xxx=find(tmp_range(:,1) == TMP_SB(3) );
TMP_SB(2) = tmp_range( (xxx-1),1);
else
TMP_SB(2) = tmp_range(index(1),1);
end;
% case #2: ending segment
elseif ( i == tmp_seg_cnt)
[xxx,yyy]=size(tmp_range);
if (tmp_range(index(1),1) >= tmp_range(xxx,1))
TMP_SB(i) = tmp_range(xxx-1,1);
elseif(tmp_range(index(1),1) <= TMP_SB(i-1) )
xxx=find(tmp_range(:,1) == TMP_SB(i-1) );
TMP_SB(i) = tmp_range( (xxx+1),1);
else
TMP_SB(i) = tmp_range(index(1),1);
end;
else % case #3: middle segments
if(tmp_range(index(1),1) <= TMP_SB(i-1) )
xxx=find(tmp_range(:,1) == TMP_SB(i-1) );
TMP_SB(i) = tmp_range( (xxx+1),1);
elseif(tmp_range(index(1),1) >= TMP_SB(i+1) )
xxx=find(tmp_range(:,1) == TMP_SB(i+1) );
TMP_SB(i) = tmp_range( (xxx-1),1);
else
TMP_SB(i) = tmp_range(index(1),1);
end;
end;
set(ww1_e_h(i-1),'String',sprintf('%d',TMP_SB(i)) );
set(ww1_s_h(i-1),'Value', TMP_SB(i) );
end;
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
set( ww1_pb_update_h, 'Visible', 'on');
set( ww1_pb_cancel_h, 'Visible', 'on');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear sort_fr_error fr_error index NEW_SB
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?