Chris@0
|
1 function run_chordandkey(filename,outfilename,chromafilename)
|
Chris@0
|
2 %%
|
Chris@0
|
3 warning off
|
Chris@0
|
4 path(path,genpath('.'));
|
Chris@0
|
5 warning on
|
Chris@0
|
6
|
Chris@0
|
7 fprintf(2,'[MATLAB] initialising parameters...');
|
Chris@0
|
8 param = param_mirex(chromafilename);
|
Chris@0
|
9 song = song_skeleton(filename);
|
Chris@0
|
10 fprintf(2,'done.\n');
|
Chris@0
|
11
|
Chris@0
|
12 fprintf(2,'[MATLAB] building DBN...');
|
Chris@0
|
13 bnet = dbn_ISMIR2010(param);
|
Chris@0
|
14 fprintf(2,'done.\n');
|
Chris@0
|
15
|
Chris@0
|
16 fprintf(2,'[MATLAB] reading chroma...');
|
Chris@0
|
17 song = song_chroma(song, param);
|
Chris@0
|
18 fprintf(2,'done.\n');
|
Chris@0
|
19
|
Chris@0
|
20 fprintf(2,'[MATLAB] beat tracking (M Davies)...');
|
Chris@0
|
21 song = song_beat(song, param);
|
Chris@0
|
22 fprintf(2,'done.\n');
|
Chris@0
|
23
|
Chris@0
|
24 fprintf(2,'[MATLAB] beat-synchronising chroma...');
|
Chris@0
|
25 song = song_syncchroma(song,param);
|
Chris@0
|
26 fprintf(2,'done.\n');
|
Chris@0
|
27
|
Chris@0
|
28 fprintf(2,'[MATLAB] segmentation...');
|
Chris@0
|
29 song = song_segment(song, param);
|
Chris@0
|
30 song = song_segchroma(song,param);
|
Chris@0
|
31 fprintf(2,'.\n');
|
Chris@0
|
32
|
Chris@0
|
33 fprintf(2,'[MATLAB] DBN inference...');
|
Chris@0
|
34 song = inference(song, bnet, param);
|
Chris@0
|
35 fprintf(2,'.\n');
|
Chris@0
|
36 %%
|
Chris@0
|
37 fprintf(2,'[MATLAB] writing output files...');
|
Chris@0
|
38 % fprintf(1,'writing to %s\n', outfilename)
|
Chris@0
|
39 write_song(song, bnet, param, outfilename, 'chordlab', 1);
|
Chris@0
|
40 write_song(song, bnet, param, [outfilename(1:end-5) 'key'], 'keylab', 1);
|
Chris@0
|
41 % parts2csv(song, [outfilename(1:end-3) 'csv']);
|
Chris@0
|
42 % parts2csv(song, [outfilename(1:end-3) 'intcsv'],'integrated');
|
Chris@0
|
43 fprintf(2,'done.\n');
|
Chris@0
|
44 exit |