matthiasm@8
|
1 function param = param_mirex(chromafilename)
|
matthiasm@8
|
2 param = param_skeleton();
|
matthiasm@8
|
3 param.beattype = 'auto';
|
matthiasm@8
|
4 param.metafilename = chromafilename;
|
matthiasm@8
|
5
|
matthiasm@8
|
6 param.dsp.extractiontype = 'vampprecalculated';
|
matthiasm@8
|
7 param.dsp.resampleto = 11025;
|
matthiasm@8
|
8 param.dsp.blocksize = 4096;
|
matthiasm@8
|
9 param.dsp.hopsize = 512;
|
matthiasm@8
|
10 param.dsp.nSbin = 3;
|
matthiasm@8
|
11 param.dsp.nrmsmoothlen = 1; % no norm smoothing
|
matthiasm@8
|
12 param.dsp.separatenormalising = true;
|
matthiasm@8
|
13 param.dsp.mutesilent = true;
|
matthiasm@8
|
14 param.dsp.norm = 'max';
|
matthiasm@8
|
15 param.dsp.nochord05 = true;
|
matthiasm@8
|
16
|
matthiasm@8
|
17 param.newchroma.whitemethod = 'standardize';
|
matthiasm@8
|
18 param.newchroma.paling = [];
|
matthiasm@8
|
19 param.newchroma.partials1 = 0.6;
|
matthiasm@8
|
20 param.newchroma.partials2 = 0.6;
|
matthiasm@8
|
21
|
matthiasm@8
|
22 param.dbn.infermpe = true;
|
matthiasm@8
|
23 param.dbn.name = 'ISMIR_2010'; % name of the model
|
matthiasm@8
|
24 param.dbn.nMeter = 1; % number of different meters
|
matthiasm@8
|
25 param.dbn.nMetpos = 4; % number of metric positions (in the different meters)
|
matthiasm@8
|
26 param.dbn.nBass = 13;
|
matthiasm@8
|
27 param.dbn.keyset = 'majorminor';
|
matthiasm@8
|
28 param.dbn.keynames = {'C','Db','D','Eb','E','F','F#','G','Ab','A','Bb','B',...
|
matthiasm@8
|
29 'C:minor','Db:minor','D:minor','Eb:minor','E:minor','F:minor','F#:minor','G:minor','Ab:minor','A:minor','Bb:minor','B:minor'}; % set of key names
|
matthiasm@8
|
30 param.dbn.lilykeynames = {'c \major','des \major','d \major','es \major','e \major','f \major','fis \major','g \major','aes \major','a \major','bes \major','b \major',...
|
matthiasm@8
|
31 'c \minor','des \minor','d \minor','es \minor','e \minor','f \minor','fis \minor','g \minor','aes \minor','a \minor','bes \minor','b \minor'}; % set of key names
|
matthiasm@8
|
32 param.dbn.key_c = 4.83; % strange variable c for expert function
|
matthiasm@8
|
33 param.dbn.nKey = 24;
|
matthiasm@8
|
34 param.dbn.chordclassset = {'','/3','/5',':maj6',':maj7',':min',':7',':min7',':dim',':aug','N'}; % set of chord classes
|
matthiasm@8
|
35 % param.dbn.nChord = 121;
|
matthiasm@8
|
36 param.dbn.chordpcs = []; % chord pitch class set (binary vector of length 12)
|
matthiasm@8
|
37 param.dbn.basshaschordnotes = true;
|
matthiasm@8
|
38 param.dbn.chromavar = 0.2; % variance of the chroma vector, applicable in manually set model
|
matthiasm@8
|
39 param.dbn.basschromavar = 0.1; % same as above for the bass
|
matthiasm@8
|
40 param = add_chords(param); % adding chord parameters
|
matthiasm@8
|
41 param.dbn.beattrans = 0.95; % transition probability to next beat (manually set)
|
matthiasm@8
|
42 param.dbn.keychange = 0.08; % key change probability (manually set)
|
matthiasm@8
|
43 param.dbn.nominalbass = 0.8; % probability of nominal bass pc sounding on first beat of chord
|
matthiasm@8
|
44 param.dbn.nominalbass_inner = 0.8; % as above, but on the rest of the beats of a chord
|
matthiasm@8
|
45 param.dbn.chordchange = 1 - [.5 .1 .4 .1]; % one minus prob of chord change at different beats
|
matthiasm@8
|
46 param.dbn.inferencebypart = true;
|
matthiasm@8
|
47
|
matthiasm@8
|
48 param.seg.type = 'auto'; % segmentation with editor intervention, or no segmentation, etc.
|
matthiasm@8
|
49 param.seg.quantile = .1;
|
matthiasm@8
|
50 param.seg.editor = false;
|
matthiasm@8
|
51 param.seg.beat_pairs = false;
|
matthiasm@8
|
52 param.seg.medfilt_length = 5;
|
matthiasm@8
|
53 param.seg.barline_spacing = 1;
|
matthiasm@8
|
54 param.seg.thresh_beat = .85;
|
matthiasm@8
|
55 param.seg.minlength = 28;
|
matthiasm@8
|
56 param.seg.maxlength = 128;
|
matthiasm@8
|
57 param.seg.standardise = false;
|
matthiasm@8
|
58 param.seg.thresh_seg = .8;
|
matthiasm@8
|
59 param.seg.precalc = 0;
|
matthiasm@8
|
60 param.seg.newcheck = false;
|
matthiasm@8
|
61 % param.seg.inferencebypart = true;
|
matthiasm@8
|
62 if param.seg.newcheck
|
matthiasm@8
|
63 param.seg.segext = '.seg';
|
matthiasm@8
|
64 else
|
matthiasm@8
|
65 param.seg.segext = '.segold';
|
matthiasm@8
|
66 end
|