⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m2.m

📁 这是一个用于语音信号处理的工具箱
💻 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 + -