www.pudn.com > VAD-DTW-HMM.rar > record.m
function varargout = record(varargin)
% RECORD Application M-file for record.fig
% FIG = RECORD launch record GUI.
% RECORD('callback_name', ...) invoke the named callback.
% Last Modified by GUIDE v2.0 11-Nov-2001 21:12:03
if nargin == 0 % LAUNCH GUI
fig = openfig(mfilename,'reuse');
% Use system color scheme for figure:
set(fig,'Color',get(0,'defaultUicontrolBackgroundColor'));
% Generate a structure of handles to pass to callbacks, and store it.
handles = guihandles(fig);
guidata(fig, handles);
if nargout > 0
varargout{1} = fig;
end
elseif ischar(varargin{1}) % INVOKE NAMED SUBFUNCTION OR CALLBACK
try
[varargout{1:nargout}] = feval(varargin{:}); % FEVAL switchyard
catch
disp(lasterr);
end
end
%| ABOUT CALLBACKS:
%| GUIDE automatically appends subfunction prototypes to this file, and
%| sets objects' callback properties to call them through the FEVAL
%| switchyard above. This comment describes that mechanism.
%|
%| Each callback subfunction declaration has the following form:
%| (H, EVENTDATA, HANDLES, VARARGIN)
%|
%| The subfunction name is composed using the object's Tag and the
%| callback type separated by '_', e.g. 'slider2_Callback',
%| 'figure1_CloseRequestFcn', 'axis1_ButtondownFcn'.
%|
%| H is the callback object's handle (obtained using GCBO).
%|
%| EVENTDATA is empty, but reserved for future use.
%|
%| HANDLES is a structure containing handles of components in GUI using
%| tags as fieldnames, e.g. handles.figure1, handles.slider2. This
%| structure is created at GUI startup using GUIHANDLES and stored in
%| the figure's application data using GUIDATA. A copy of the structure
%| is passed to each callback. You can store additional information in
%| this structure at GUI startup, and you can change the structure
%| during callbacks. Call guidata(h, handles) after changing your
%| copy to replace the stored original so that subsequent callbacks see
%| the updates. Type "help guihandles" and "help guidata" for more
%| information.
%|
%| VARARGIN contains any extra arguments you have passed to the
%| callback. Specify the extra arguments by editing the callback
%| property in the inspector. By default, GUIDE sets the property to:
%| ('', gcbo, [], guidata(gcbo))
%| Add any extra arguments after the last argument, before the final
%| closing parenthesis.
% --------------------------------------------------------------------
function varargout = push_record_Callback(h, eventdata, handles, varargin)
global ud
invoke(ud.hactx,'start');
% --------------------------------------------------------------------
function varargout = push_save_Callback(h, eventdata, handles, varargin)
global ud
hf = handles.figure_main;
ht = handles.text_prompt;
if ud.word>length(ud.samples)
ud.samples{ud.word} = {};
end
n = length(ud.samples{ud.word})+1;
ud.samples{ud.word}{n} = ud.x;
plot(ud.x,'Parent',ud.haxes);
prompt = sprintf('当前词共有语音个数:%d', n);
set(ht,'String',prompt);
samples = ud.samples;
save samples samples
% --------------------------------------------------------------------
function varargout = push_play_Callback(h, eventdata, handles, varargin)
global ud
plot(ud.x,'Parent',ud.haxes);
soundsc(ud.x);
% --------------------------------------------------------------------
function varargout = list_word_Callback(h, eventdata, handles, varargin)
global ud
hf = handles.figure_main;
ht = handles.text_prompt;
ud.word = get(h, 'Value');
if ud.word>length(ud.samples)
ud.samples{ud.word} = {};
end
n = length(ud.samples{ud.word});
prompt = sprintf('当前词共有语音个数:%d', n);
set(ht,'String',prompt);
% --------------------------------------------------------------------
function varargout = push_start_Callback(h, eventdata, handles, varargin)
global ud
hf = handles.figure_main;
ud.hactx = ACTXCONTROL('ACTVOICE.ActvoiceCtrl.1',[0 0 0 0], hf, 'sample');
ud.haxes = handles.axes_wave;
ud.samples = {};
ud.word = 1;