% Main program for speaker identification % Roger Jang, 20070618, 20090131 %% clear all; close all; more off; eval(sprintf('tInit_%s=clock;\n', mfilename)); sidOpt=sidOptSet; if ~exist(sidOpt.outputDir, 'dir'), fprintf('Creating %s...\n', sidOpt.outputDir); mkdirs(sidOpt.outputDir); end % Delete old data %delete([sidOpt.outputDir, '/speakerSet.mat']); %delete([sidOpt.outputDir, '/dsta.mat']); %delete([sidOpt.outputDir, '/gmmParamWrtGaussianNum.mat']); %delete([sidOpt.outputDir, '/utterRrVec.mat']); %% ====== Feature extration & comparison [speakerSet1, speakerSet2]=sidFeaExtract(sidOpt); [overallRr, speakerSet1, time]=sidPerfEval(speakerSet1, speakerSet2, sidOpt, 1); eval(sprintf('time=etime(clock, tInit_%s);', mfilename)); fprintf('%s ===> %g seconds\n', mfilename, time); %% ====== Saving something for future reference outputDir=[sidOpt.outputDir, '/speakerIdParam']; fprintf('Writing parameters to %s...\n', outputDir); if ~exist(outputDir, 'dir'), mkdir(outputDir); end for i=1:length(speakerSet1) speakerSetWrite(speakerSet1(i), outputDir); end