matthiasm@8: function param = param_skeleton() matthiasm@8: % Algorithm parameter skeleton for Matthias Mauch's thesis code matthiasm@8: % Parameters concerning input, output and verbosity are not in here. matthiasm@8: param.beattype = 'auto'; matthiasm@8: param.dsp.extractiontype = ''; matthiasm@8: param.dsp.resampleto = []; matthiasm@8: param.dsp.blocksize = []; matthiasm@8: param.dsp.hopsize = []; matthiasm@8: param.dsp.fmin = []; matthiasm@8: param.dsp.fmax = []; matthiasm@8: param.dsp.nSbin = []; matthiasm@8: param.dsp.noterange = []; matthiasm@8: param.dsp.minMidinote = []; matthiasm@8: param.dsp.maxMidinote = []; matthiasm@8: param.dsp.medfiltlength = []; % length of a median filter in frames matthiasm@8: param.dsp.nrmsmoothlen = []; matthiasm@8: param.dsp.bassbin13 = true; % is there a thirteenth bin corresponding to "no bass" matthiasm@8: param.dsp.norm = 'max'; matthiasm@8: param.dsp.separatenormalising = true; matthiasm@8: param.dsp.mutesilent = false; matthiasm@8: param.dsp.manualbeats = false; matthiasm@8: param.dsp.nochord05 = false; matthiasm@8: matthiasm@8: param.newchroma.partials1 = 0.6; matthiasm@8: param.newchroma.partials2 = 0.6; matthiasm@8: param.newchroma.standardise = true; matthiasm@8: param.newchroma.whitemethod = 'standardize'; matthiasm@8: matthiasm@8: param.dbn.name = ''; % name of the model matthiasm@8: param.dbn.nMeter = []; % number of different meters matthiasm@8: param.dbn.nMetpos = []; % number of metric positions (in the different meters) matthiasm@8: param.dbn.nBass = []; matthiasm@8: param.dbn.keyset = {}; % set of key names matthiasm@8: param.dbn.key_c = []; % strange variable c for expert function matthiasm@8: param.dbn.nKey = []; matthiasm@8: param.dbn.chordclassset = {}; % set of chord classes matthiasm@8: param.dbn.nChord = []; matthiasm@8: param.dbn.chordpcs = []; % chord pitch class set (binary vector of length 12) matthiasm@8: param.dbn.chordbassnotes = []; matthiasm@8: param.dbn.basshaschordnotes = false; matthiasm@8: param.dbn.chromavar = []; % variance of the chroma vector, applicable in manually set model matthiasm@8: param.dbn.basschromavar = []; % same as above for the bass matthiasm@8: param.dbn.beattrans = []; % transition probability to next beat (manually set) matthiasm@8: param.dbn.keychange = []; % key change probability (manually set) matthiasm@8: param.dbn.nominalbass = []; % probability of nominal bass pc sounding on first beat of chord matthiasm@8: param.dbn.nominalbass_inner = []; % as above, but on the rest of the beats of a chord matthiasm@8: param.dbn.chordchange = []; % one minus prob of chord change at different beats matthiasm@8: param.dbn.infermpe = true; matthiasm@8: param.dbn.inferencebypart = false; matthiasm@8: matthiasm@8: param.seg.type = ''; % "standard" segmentation, with automatic "editor" intervention, "none", or "manual" segmentation, tc. matthiasm@8: param.seg.beattype = ''; % what kind of beat tracking matthiasm@8: param.seg.chroma = ''; % what kind of chroma (not just wide or treble, but also which techinque) matthiasm@8: param.seg.quantile = []; % quantile as in ISMIR paper equation (3) matthiasm@8: param.seg.editor = false; % if true, look for frequent sub-segments matthiasm@8: param.seg.beat_pairs = false; % pairing up beats for decreased chance of random match matthiasm@8: param.seg.medfilt_length = []; % length of median filter over similarity matrix matthiasm@8: param.seg.barline_spacing = []; % matthiasm@8: param.seg.thresh_beat = []; % beat similarity has to be at least this matthiasm@8: param.seg.minlength = []; % min length of segment matthiasm@8: param.seg.maxlength = []; % max length of segment matthiasm@8: param.seg.dynamic = false; % use dynamic time warping matthiasm@8: param.seg.standardise = false; % matthiasm@8: param.seg.thresh_seg = []; % take segments over this threshold (in units above std) matthiasm@8: param.seg.inferenceoverlap = 8;