Chris@1: function run_mirex(filename,outfilename,chromafilename) Chris@1: %% Chris@1: warning off Chris@1: path(path,genpath('.')); Chris@1: warning on Chris@1: Chris@1: fprintf(2,'[MATLAB] initialising parameters...'); Chris@1: param = param_mirex(chromafilename); Chris@1: song = song_skeleton(filename); Chris@1: fprintf(2,'done.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] building DBN...'); Chris@1: bnet = dbn_ISMIR2010(param); Chris@1: fprintf(2,'done.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] reading chroma...'); Chris@1: song = song_chroma(song, param); Chris@1: fprintf(2,'done.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] beat tracking (M Davies)...'); Chris@1: song = song_beat(song, param); Chris@1: fprintf(2,'done.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] beat-synchronising chroma...'); Chris@1: song = song_syncchroma(song,param); Chris@1: fprintf(2,'done.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] segmentation...'); Chris@1: song = song_segment(song, param); Chris@1: song = song_segchroma(song,param); Chris@1: fprintf(2,'.\n'); Chris@1: Chris@1: fprintf(2,'[MATLAB] DBN inference...'); Chris@1: song = inference(song, bnet, param); Chris@1: fprintf(2,'.\n'); Chris@1: %% Chris@1: fprintf(2,'[MATLAB] writing output files...'); Chris@1: % fprintf(1,'writing to %s\n', outfilename) Chris@1: write_song(song, bnet, param, outfilename, 'chordlab', 1); matthiasm@6: write_song(song, bnet, param, [outfilename(1:end-3) 'keylab'], 'keylab', 1); Chris@1: % parts2csv(song, [outfilename(1:end-3) 'csv']); matthiasm@6: parts2csv(song, [outfilename(1:end-3) 'intcsv'],'integrated'); Chris@1: fprintf(2,'done.\n'); matthiasm@6: exit