function [ds2, elapsedTime]=stDsPredict(ds, opt, showPlot) % ST (singing transcription) prediction on a given dataset % % Usage: % ds2=stDsPredict(ds, opt) % % Example: % %dsDir='d:/dataSet/public/MIR-ST500'; % %ds=stDsRead(dsDir); % load mir-st010.mat % load dataset % opt=stDsPredict('defaultOpt'); % [ds2, time]=stDsPredict(ds, opt, 1); % fprintf('Elapsed time = %g sec\n', time); if nargin<1, selfdemo; return; end if ischar(ds) && strcmpi(ds, 'defaultOpt') % Set the default options ds2=pv2note('defaultOpt'); return end if nargin<2||isempty(opt), opt=feval(mfilename, 'defaultOpt'); end if nargin<3, showPlot=0; end myTic=tic; dsCount=length(ds); ds2=ds; for i=1:dsCount % ds(i).noteGt=noteFileRead(ds(i).gtFile); % Read the groundtruth file % fea=jsondecode(fileread(ds(i).feaFile)); % Read the feature file pv.pitch=ds(i).fea.vocal_pitch; pv.time=ds(i).fea.time; ds2(i).notePredicted=pv2note(pv, opt); % Perform transcription if showPlot, fprintf('%d/%d: gtFile=%s, feaFile=%s\n', i, dsCount, ds(i).gtFile, ds(i).feaFile); end end elapsedTime=toc(myTic); % Elapsed time if showPlot end % ====== Self demo function selfdemo mObj=mFileParse(which(mfilename)); strEval(mObj.example);