%% Create the model fprintf('Loading ds.mat...\n'); load ds.mat [cPrm, logLike1, recogRate]=qcTrain(ds); auFile='wo3.wav'; trOpt=trOptSet; [fea, pitch, segment]=trFeaExtract(auFile, trOpt); computedClass=qcEval(fea, cPrm, 1); %% fs=16000; % 取樣頻率 nBits=16; % 取樣點解析度,必須是 8 或 16 或 24 nChannel=1; % 聲道個數,必須是 1(單聲道) 或 2(雙聲道或立體音) duration=2; % 錄音時間(秒) while 1 recObj=audiorecorder(fs, nBits, nChannel); fprintf('按任意鍵後開始 %g 秒錄音:', duration); pause fprintf('錄音中...'); recordblocking(recObj, duration); fprintf('錄音結束\n'); % fprintf('按任意鍵後開始播放:\n'); pause y=getaudiodata(recObj, 'double'); % get data as a double array % plot((1:length(y))/fs, y); xlabel('Time (sec)'); ylabel('Amplitude'); sound(y, fs); audioFile='test.wav'; % 欲儲存的 wav 檔案 % fprintf('Saving to %s...\n', audioFile); audiowrite(audioFile, y, fs); trOpt=trOptSet; [fea, pitch, segment]=trFeaExtract(audioFile, trOpt, 1); computedClass=qcEval(fea, cPrm, 1); fprintf('Computed Class=%d\n', computedClass); end