matthiasm@8: function param = param_mirex(chromafilename) matthiasm@8: param = param_skeleton(); matthiasm@8: param.beattype = 'auto'; matthiasm@8: param.metafilename = chromafilename; matthiasm@8: matthiasm@8: param.dsp.extractiontype = 'vampprecalculated'; matthiasm@8: param.dsp.resampleto = 11025; matthiasm@8: param.dsp.blocksize = 4096; matthiasm@8: param.dsp.hopsize = 512; matthiasm@8: param.dsp.nSbin = 3; matthiasm@8: param.dsp.nrmsmoothlen = 1; % no norm smoothing matthiasm@8: param.dsp.separatenormalising = true; matthiasm@8: param.dsp.mutesilent = true; matthiasm@8: param.dsp.norm = 'max'; matthiasm@8: param.dsp.nochord05 = true; matthiasm@8: matthiasm@8: param.newchroma.whitemethod = 'standardize'; matthiasm@8: param.newchroma.paling = []; matthiasm@8: param.newchroma.partials1 = 0.6; matthiasm@8: param.newchroma.partials2 = 0.6; matthiasm@8: matthiasm@8: param.dbn.infermpe = true; matthiasm@8: param.dbn.name = 'ISMIR_2010'; % name of the model matthiasm@8: param.dbn.nMeter = 1; % number of different meters matthiasm@8: param.dbn.nMetpos = 4; % number of metric positions (in the different meters) matthiasm@8: param.dbn.nBass = 13; matthiasm@8: param.dbn.keyset = 'majorminor'; matthiasm@8: param.dbn.keynames = {'C','Db','D','Eb','E','F','F#','G','Ab','A','Bb','B',... matthiasm@8: '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: 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: '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: param.dbn.key_c = 4.83; % strange variable c for expert function matthiasm@8: param.dbn.nKey = 24; matthiasm@8: param.dbn.chordclassset = {'','/3','/5',':maj6',':maj7',':min',':7',':min7',':dim',':aug','N'}; % set of chord classes matthiasm@8: % param.dbn.nChord = 121; matthiasm@8: param.dbn.chordpcs = []; % chord pitch class set (binary vector of length 12) matthiasm@8: param.dbn.basshaschordnotes = true; matthiasm@8: param.dbn.chromavar = 0.2; % variance of the chroma vector, applicable in manually set model matthiasm@8: param.dbn.basschromavar = 0.1; % same as above for the bass matthiasm@8: param = add_chords(param); % adding chord parameters matthiasm@8: param.dbn.beattrans = 0.95; % transition probability to next beat (manually set) matthiasm@8: param.dbn.keychange = 0.08; % key change probability (manually set) matthiasm@8: param.dbn.nominalbass = 0.8; % probability of nominal bass pc sounding on first beat of chord matthiasm@8: param.dbn.nominalbass_inner = 0.8; % as above, but on the rest of the beats of a chord matthiasm@8: param.dbn.chordchange = 1 - [.5 .1 .4 .1]; % one minus prob of chord change at different beats matthiasm@8: param.dbn.inferencebypart = true; matthiasm@8: matthiasm@8: param.seg.type = 'auto'; % segmentation with editor intervention, or no segmentation, etc. matthiasm@8: param.seg.quantile = .1; matthiasm@8: param.seg.editor = false; matthiasm@8: param.seg.beat_pairs = false; matthiasm@8: param.seg.medfilt_length = 5; matthiasm@8: param.seg.barline_spacing = 1; matthiasm@8: param.seg.thresh_beat = .85; matthiasm@8: param.seg.minlength = 28; matthiasm@8: param.seg.maxlength = 128; matthiasm@8: param.seg.standardise = false; matthiasm@8: param.seg.thresh_seg = .8; matthiasm@8: param.seg.precalc = 0; matthiasm@8: param.seg.newcheck = false; matthiasm@8: % param.seg.inferencebypart = true; matthiasm@8: if param.seg.newcheck matthiasm@8: param.seg.segext = '.seg'; matthiasm@8: else matthiasm@8: param.seg.segext = '.segold'; matthiasm@8: end