matthiasm@8
|
1 function param = param_skeleton()
|
matthiasm@8
|
2 % Algorithm parameter skeleton for Matthias Mauch's thesis code
|
matthiasm@8
|
3 % Parameters concerning input, output and verbosity are not in here.
|
matthiasm@8
|
4 param.beattype = 'auto';
|
matthiasm@8
|
5 param.dsp.extractiontype = '';
|
matthiasm@8
|
6 param.dsp.resampleto = [];
|
matthiasm@8
|
7 param.dsp.blocksize = [];
|
matthiasm@8
|
8 param.dsp.hopsize = [];
|
matthiasm@8
|
9 param.dsp.fmin = [];
|
matthiasm@8
|
10 param.dsp.fmax = [];
|
matthiasm@8
|
11 param.dsp.nSbin = [];
|
matthiasm@8
|
12 param.dsp.noterange = [];
|
matthiasm@8
|
13 param.dsp.minMidinote = [];
|
matthiasm@8
|
14 param.dsp.maxMidinote = [];
|
matthiasm@8
|
15 param.dsp.medfiltlength = []; % length of a median filter in frames
|
matthiasm@8
|
16 param.dsp.nrmsmoothlen = [];
|
matthiasm@8
|
17 param.dsp.bassbin13 = true; % is there a thirteenth bin corresponding to "no bass"
|
matthiasm@8
|
18 param.dsp.norm = 'max';
|
matthiasm@8
|
19 param.dsp.separatenormalising = true;
|
matthiasm@8
|
20 param.dsp.mutesilent = false;
|
matthiasm@8
|
21 param.dsp.manualbeats = false;
|
matthiasm@8
|
22 param.dsp.nochord05 = false;
|
matthiasm@8
|
23
|
matthiasm@8
|
24 param.newchroma.partials1 = 0.6;
|
matthiasm@8
|
25 param.newchroma.partials2 = 0.6;
|
matthiasm@8
|
26 param.newchroma.standardise = true;
|
matthiasm@8
|
27 param.newchroma.whitemethod = 'standardize';
|
matthiasm@8
|
28
|
matthiasm@8
|
29 param.dbn.name = ''; % name of the model
|
matthiasm@8
|
30 param.dbn.nMeter = []; % number of different meters
|
matthiasm@8
|
31 param.dbn.nMetpos = []; % number of metric positions (in the different meters)
|
matthiasm@8
|
32 param.dbn.nBass = [];
|
matthiasm@8
|
33 param.dbn.keyset = {}; % set of key names
|
matthiasm@8
|
34 param.dbn.key_c = []; % strange variable c for expert function
|
matthiasm@8
|
35 param.dbn.nKey = [];
|
matthiasm@8
|
36 param.dbn.chordclassset = {}; % set of chord classes
|
matthiasm@8
|
37 param.dbn.nChord = [];
|
matthiasm@8
|
38 param.dbn.chordpcs = []; % chord pitch class set (binary vector of length 12)
|
matthiasm@8
|
39 param.dbn.chordbassnotes = [];
|
matthiasm@8
|
40 param.dbn.basshaschordnotes = false;
|
matthiasm@8
|
41 param.dbn.chromavar = []; % variance of the chroma vector, applicable in manually set model
|
matthiasm@8
|
42 param.dbn.basschromavar = []; % same as above for the bass
|
matthiasm@8
|
43 param.dbn.beattrans = []; % transition probability to next beat (manually set)
|
matthiasm@8
|
44 param.dbn.keychange = []; % key change probability (manually set)
|
matthiasm@8
|
45 param.dbn.nominalbass = []; % probability of nominal bass pc sounding on first beat of chord
|
matthiasm@8
|
46 param.dbn.nominalbass_inner = []; % as above, but on the rest of the beats of a chord
|
matthiasm@8
|
47 param.dbn.chordchange = []; % one minus prob of chord change at different beats
|
matthiasm@8
|
48 param.dbn.infermpe = true;
|
matthiasm@8
|
49 param.dbn.inferencebypart = false;
|
matthiasm@8
|
50
|
matthiasm@8
|
51 param.seg.type = ''; % "standard" segmentation, with automatic "editor" intervention, "none", or "manual" segmentation, tc.
|
matthiasm@8
|
52 param.seg.beattype = ''; % what kind of beat tracking
|
matthiasm@8
|
53 param.seg.chroma = ''; % what kind of chroma (not just wide or treble, but also which techinque)
|
matthiasm@8
|
54 param.seg.quantile = []; % quantile as in ISMIR paper equation (3)
|
matthiasm@8
|
55 param.seg.editor = false; % if true, look for frequent sub-segments
|
matthiasm@8
|
56 param.seg.beat_pairs = false; % pairing up beats for decreased chance of random match
|
matthiasm@8
|
57 param.seg.medfilt_length = []; % length of median filter over similarity matrix
|
matthiasm@8
|
58 param.seg.barline_spacing = []; %
|
matthiasm@8
|
59 param.seg.thresh_beat = []; % beat similarity has to be at least this
|
matthiasm@8
|
60 param.seg.minlength = []; % min length of segment
|
matthiasm@8
|
61 param.seg.maxlength = []; % max length of segment
|
matthiasm@8
|
62 param.seg.dynamic = false; % use dynamic time warping
|
matthiasm@8
|
63 param.seg.standardise = false; %
|
matthiasm@8
|
64 param.seg.thresh_seg = []; % take segments over this threshold (in units above std)
|
matthiasm@8
|
65 param.seg.inferenceoverlap = 8;
|