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