gwset.m

来自「这是一个用于语音信号处理的工具箱」· M 代码 · 共 200 行

M
200
字号
% Function : Create a graphical user interface (GUI) to 
%           (1) display the shape of the estimated glottal waveform
%           (2) manually modify the glottal waveform using the mouse.
%
% Gwset.m is a call_function executed by "m_pb_gw" on figure(m_win_f).
%

  %-------------------%
  % creat the Amod_f  %
  %-------------------%
 
  % the formant track modification is available only for the LF source model

  if sr==1 % 6th order polynomial source model

     Gwset_f=figure('Units','Normalized',...
        'Numbertitle','off',...
        'Position',[.265 .4 .3 .2 ],...
        'Color','white',...
        'Name','Formant Track Display');

     text=uicontrol('Style','text',...
        'Units','normalized',...
        'Position',[0.1 0.61 0.8 0.15],...
        'BackGroundColor','white',...
        'String','Sorry, this function is not available');

     text=uicontrol('Style','text',...
        'Units','normalized',...
        'Position',[0.1 0.5 0.8 0.15],...
        'BackGroundColor','white',...
        'String','for 6th order polynomial source model.');

     return_pb=uicontrol('Style','Pushbutton',...
        'Units','normalized','Position',[.2 .3 .6 .2],...
        'Callback','close(Gwset_f);',...
        'String','Return');
     
     return;
  end
  
 % generate temporary variables

 if exist('gpcf3')==1 
    gpcf1=gpcf3;
 else
    gpcf1=gpcf;
 end

 if exist('vctyp3')==1
    vctyp1=vctyp3;
 else
    vctyp1=vctyp;
 end

 kf=min(find(vctyp1>0));
 Tp=gpcf1(kf,1);
 Te=gpcf1(kf,2);
 Ta=gpcf1(kf,3);
 Tc=gpcf1(kf,4);
 Ee=gpcf1(kf,5);

 % generate the control objects
 Gwset_f=figure('Units','Normalized',...
        'Numbertitle','off',...
        'Position',[.265 .6 .50 .30 ],...
        'Color','white',...
	'Name','Glottal Waveform Modification');

 lf_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.05 .9 .4 .08],'BackGroundColor','white',...
         'String','LF Timing Parameters:');

 tp_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.05 .78 .1 .08],'BackGroundColor','white',...
         'String','tp:');

 tp_val=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.15 .78 .3 .08],'String',num2str(Tp),...
        'BackGroundColor','white');

 tp_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[.05 .7 .4 .08],...
        'Value',Tp,'Min',0,'Max',1,...
        'Callback', 'stflag=1;lftset;');
 %callback function [lftset.m]

 te_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.05 .58 .1 .08],'BackGroundColor','white',...
         'String','te:');

 te_val=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.15 .58 .3 .08],'String',num2str(Te),...
        'BackGroundColor','white');

 te_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[.05 .5 .4 .08],...
        'Value',Te,'Min',0,'Max',1,...
        'Callback', 'stflag=2;lftset;');
 %callback function [lftset.m]

 ta_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.05 .38 .1 .08],'BackGroundColor','white',...
         'String','ta:');

 ta_val=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.15 .38 .3 .08],'String',num2str(Ta),...
        'BackGroundColor','white');

 ta_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[.05 .3 .4 .08],...
        'Value',Ta,'Min',0.001,'Max',1,...
        'Callback', 'stflag=3;lftset;');
 %callback function [lftset.m]

 tc_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.05 .18 .1 .08],'BackGroundColor','white',...
         'String','tc:');

 tc_val=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.15 .18 .3 .08],'String',num2str(Tc),...
        'BackGroundColor','white');

 tc_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[.05 .1 .4 .08],...
        'Value',Tc,'Min',0,'Max',1,...
        'Callback', 'stflag=4;lftset;');
 %callback function [lftset.m]

 ee_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.55 .78 .1 .08],'BackGroundColor','white',...
         'String','Ee:');

 ee_val=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.65 .78 .3 .08],'String',num2str(Ee/1000),...
        'BackGroundColor','white');

 ee_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[.55 .7 .4 .08],...
        'Value',Ee/1000,'Min',0,'Max',10,...
        'Callback', 'stflag=5;lftset;');
 %callback function [lftset.m]

 fram_text=uicontrol('Style','text',...
        'Units','Normalized','Position',[0.5 .58 .5 .08],'BackGroundColor','white',...
        'ForeGroundColor','red',...
         'String','Frame number:  Voice type:');

 fram_val0=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.6 .5 .1 .08],'String',num2str(kf),...
        'BackGroundColor','white','ForeGroundColor','red');

 fram_val1=uicontrol('Style','text', ...
	'Unit','Normalized','Position',[0.75 .5 .2 .08],'String','voiced',...
        'BackGroundColor','white','ForeGroundColor','red');

 down_pb=uicontrol('Style','Pushbutton', ...
	'String','<  down',...
        'Units','Normalized','Position',[.55 .4 .18 .08],...
        'Callback','App=2;gwapp');
 %callback function [gwapp.m]

 up_pb=uicontrol('Style','Pushbutton', ...
	'String','up  >',...
        'Units','Normalized','Position',[.78 .4 .18 .08],...
        'Callback','App=3;gwapp');
 %callback function [gwapp.m]
 fram_slider=uicontrol('Style','Slider', ...
	'Units','Normalized','Position',[0.55 .3 .4 .08],...
        'Value',kf,'Min',1,'Max',nframe,...
        'Callback', 'App=4;gwapp;');
 %callback function [gwapp.m]

 undo_pb=uicontrol('Style','Pushbutton', ...
	'String','Undo',...
        'Units','Normalized','Position',[.78 .18 .18 .08],...
        'Callback','App=0;gwapp');
 %callback function [gwapp.m]

 apply_pb=uicontrol('Style','Pushbutton', ...
	'String','Apply' ,...
        'Units','Normalized','Position',[.55 .18 .18 .08],...
        'Callback','App=1;gwapp');
%callback function [gwapp.m]


return_pb=uicontrol('Style','Pushbutton',...
        'Units','Normalized','Position',[.68 .08 .18 .08],...
        'Callback','close(Gwset_f);close(Gwdis_f);clear Tp Te Tc Ee gp;',...
        'String','Return');

Gwdis_f=figure('Units','Normalized',...
        'Numbertitle','off',...
        'Position',[.265 .05 .50 .50 ],...
        'Color',[.5 .5 .5],...
	'Name','Glottal Waveform Display');
whitebg(Gwdis_f,'w');

gwplt;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?