📄 m2.m
字号:
disp(' ');
disp('SCRIPT: m2.m *************************************************');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% m2.m
%
% jmw
% 7/22/94
%
% This is the Main User Editing Program to edit the
% S&L Results. It creates the GUI and is the "parent" program
% modified by D. G. Childers 2/11/98
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%close all;
if exist('signal_gci_win_h')
eval('close(signal_gci_win_h);',catch1);
clear signal_gci_win_h;
end;
clear;
clc;
path(path,'./analysis');
path(path,'./data');
path(path,'./modify_anal');
path(path,'./seg_label');
path(path,'./temp');
path(path,'./time_mod');
path(path,'./utilities');
genflag = 0; %Flags that indicate whether the corresponding analysis was done
srcflag = 0;
frmflag = 0;
Srate = 10000; %Unless changed, this is the fixed value for sampling rate
% Define some character strings
o_fname='';
o_pname='';
% Define some global variables
global Ts; %Sampling period in seconds
Ts = 1e-4;
%color_flag=0; % Black background and white text
color_flag=1; % White background and black text
global BACK_COLOR TEXT_COLOR LINE_COLOR;
if color_flag == 1
BACK_COLOR=[1 1 1]; %white
TEXT_COLOR=[0 0 0]; %black
LINE_COLOR=[0 0 1]; %blue
else
BACK_COLOR=[0 0 0];
TEXT_COLOR=[1 1 1];
LINE_COLOR=[0 0 1];
end
check = 1; %Variable used for proper closing and opening of windows
catch2 = 'check = 0;';
catch1 = 'break;';
% load signal
cwd=pwd;
[fname pathname]=uigetfile('*.dat','Load input file(ASCII)');
S=sprintf('cd %s',cwd);
eval(S);
if fname ~= 0
S=sprintf('Loading data .....');
disp(S);
S=sprintf('load %s%s',pathname,fname);
eval(S);
o_fname=fname;
o_pname=pathname;
name=basename(fname);
else
fname=o_fname;
pathname=o_pname;
end
% If an input file is not loaded ( fname ), return to main menu
if exist('fname') ~= 1 | length(fname) == 0
disp('Input file is not loaded. Please load an input file first.');
return;
end
s=sprintf('signal=%s;', name);
eval(s);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% load Data
file_string=sprintf('temp/%s_Data',name);
s=sprintf('loading LPC analysis results from %s',file_string);
disp(s);
s=sprintf('load %s',file_string);
eval(s);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% load segmentation data
file_string=sprintf('temp/%s_SegNLabels.mat',name);
s=sprintf('loading segmentation & labeling results from %s',file_string);
disp(s);
s=sprintf('load %s',file_string);
eval(s);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% initialization for all windows
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% create temporary/new SegNLabel variables
tmp_choice_1 = choice_1;
tmp_choice_2 = choice_2;
tmp_reliability_1 = reliability_1;
tmp_reliability_2 = reliability_2;
tmp_seg_cnt = seg_cnt;
tmp_seg_frame = seg_frame;
tmp_seg_range = seg_range;
tmp_seg_type = seg_type;
% create temporary/new Data variables
tmp_range = range;
tmp_cofa = cofa;
tmp_residue = residue;
tmp_VUS_voicetype = VUS_voicetype;
% create temporary/new signal variables
tmp_signal = signal;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% initialize insert silence window parameters (ww3)
sil_length = 1000;
new_sil_length = sil_length;
silstart = 1;
new_silstart = silstart;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% initialize display codes
d1a_code = 1;
d1b_code = 3;
d1c_code = 4;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% initialize save counter and save_name
save_cntr = 1;
save_name=sprintf('%s%d', name, save_cntr);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% initialize some other variables
%for i=2:8
% ww2_pu_value(i)=i-1;
% end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% end of initialization for windows
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[m,n]=size(cofa);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% make main user-interface window
m2_height = 350;
m2_width = 600;
m2_h=figure('Numbertitle','off',...
'Resize','off',...
'Color',BACK_COLOR,...
'Position',[50 50 m2_width m2_height],...
'Name','Main',...
'resize','on');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% make first display window
m2_d1_height = 400;
m2_d1_width = 700;
m2_d1_h=figure('Numbertitle','off',...
'Resize','off',...
'Color',BACK_COLOR,...
'Position',[250 20 m2_d1_width m2_d1_height],...
'Name','Display',...
'resize','on');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% add functional pushbutton(s) to m2
figure(m2_h);
m2_pb_quit_h = uicontrol('Style','Pushbutton',...
'Position',[30 m2_height-80 120 30],...
'String','Quit (NoSave)','Callback','m2_quit');
m2_pb_discard_h = uicontrol('Style','Pushbutton',...
'Position',[160 m2_height-80 120 30],...
'String','Discard Changes','Callback','m2_disca');
m2_pb_save_h = uicontrol('Style','Pushbutton',...
'Position',[290 m2_height-80 120 30],...
'String','Save Changes','Callback','m2_save');
m2_pb_quit2_h = uicontrol('Style','Pushbutton',...
'Position',[420 m2_height-80 120 30],...
'String','Quit (After save)','Callback','m2_quit');
m2_pb_cancel_h = uicontrol('Style','Pushbutton',...
'Position',[440 m2_height-60 120 30],...
'String','Cancel Save','Callback','m2_ca',...
'Visible','off');
m2_e_save_h = uicontrol('Style','Edit',...
'Position',[300 m2_height-90 260 20],...
'String',save_name,'Visible','off');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% add popupmenus to select graph contents...
m2_pu_d1a_h = uicontrol('Style','Popupmenu',...
'Position',[240 m2_height-150 120 30],...
'String','Original Signal | Modified Signal',...
'Callback','m2_pu_da','Value',1);
m2_pu_d1b_h = uicontrol('Style','Popupmenu',...
'Position',[240 m2_height-190 120 30],...
'String',...
'Orig T&D | Modified T&D | Original Signal | Modified Signal | Orig Seg Bnd | Mod Seg Bnd',...
'Callback','m2_pu_db','Value',1);
m2_pu_d1c_h = uicontrol('Style','Popupmenu',...
'Position',[240 m2_height-230 120 30],...
'String',...
'Orig T&D | Modified T&D | Orig Seg Bnd | Mod Seg Bnd',...
'Callback','m2_pu_dc','Value',2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% add text and lines
% add text and line
s1=sprintf('----------------------------------------------------------------');
s2=sprintf('----------------------------------------------------------------');
s1=[s1 s2];
text('Units','pixels','Position',[-50 m2_height-130],'String',s1,...
'color',TEXT_COLOR);
ax1 =axis;
axis(ax1);
axis off;
s1=sprintf('----------------------------------------------------------------');
s2=sprintf('----------------------------------------------------------------');
s1=[s1 s2];
text('Units','pixels','Position',[-50 m2_height-275],'String',s1,...
'color',TEXT_COLOR);
axis(ax1);
axis off;
s1=sprintf('Parameter Windows');
text('Units','pixels','Position',[-50 m2_height-300],'String',s1);
s1=sprintf('Merge Like Segments');
text('Units','pixels','Position',[305 m2_height-300],'String',s1,...
'color',TEXT_COLOR);
s1=sprintf('Display');
text('Units','pixels','Position',[-50 m2_height-155],'String',s1,...
'color',TEXT_COLOR);
s1=sprintf('Top');
text('Units','pixels','Position',[120 m2_height-175],'String',s1,...
'color',TEXT_COLOR);
s1=sprintf('Middle');
text('Units','pixels','Position',[110 m2_height-215],'String',s1,...
'color',TEXT_COLOR);
s1=sprintf('Bottom');
text('Units','pixels','Position',[110 m2_height-255],'String',s1,...
'color',TEXT_COLOR);
s1=sprintf('Signal Name: %s', name);
text('Units','pixels','Position',[-50 m2_height-65],'String',s1,...
'color',TEXT_COLOR);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% add window-display pushbutton(s)
% pushbutton to invoke window 1 (Bnd - move seg boundary)
ww1_h = [];
ww1_saved_pos = [];
m2_pb_ww1_h = uicontrol('Style','Pushbutton',...
'Position',[120 m2_height-320 70 30],...
'String','Seg Bnd','Callback','m2_ww1');
% pushbutton to invoke window 2 (Label - fix labels)
ww2_h = [];
ww2_saved_pos = [];
m2_pb_ww2_h = uicontrol('Style','Pushbutton',...
'Position',[210 m2_height-320 70 30],...
'String','Labels','Callback','m2_ww2');
% pushbutton to invoke window 3 (Insert Silence)
ww3_h = [];
ww3_saved_position = [];
m2_pb_ww3_h = uicontrol('Style','Pushbutton',...
'Position',[30 m2_height-320 70 30],...
'String','Ins Sil','Callback','m2_ww3');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% pushbutton to merge segments ...
m2_pb_merge_h = uicontrol('Style','Pushbutton',...
'Position',[390 m2_height-320 120 30],...
'String','Merge Seg''s','Callback','m2_merge');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% run display program
m2_d1_di
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -