HarmTrace-2.2.0: Harmony Analysis and Retrieval of Music

Portabilitynon-portable
Stabilityexperimental
Maintainerbash@cs.uu.nl, jpm@cs.ox.ac.uk
Safe HaskellSafe-Inferred

Constants

Description

Summary: Several constants used everywhere

Synopsis

Documentation

vERSION :: StringSource

Automatically generated

cutOffProbability :: NumDataSource

The cutOffProbability is the value that determines the length of the probChord list (a sorted list with normalised distances to the chroma vector)

maxProbChordListLength :: IntSource

The maximum number if chords (the lenght) of a chord candidate list

maxSegmentSize :: IntSource

The maximum size of a list of chord candidate lists (of which all possible combinations will be parsed). If, in the segmentation procedure, this threshold is crossed an 'emergency split' will be made (see Harmtrace.Audio.Annotate.emergencySplit for details)

maxLProductSize :: IntSource

Chord candidate list segments can contain long and short chord candidate lists. This strongly influences the number of considered chord sequence combinations, i.e. the LProductSize. If the number of possible combinations becomes greater than the maxLProductSize also an 'emergency split' will be made, similar to maxSegmentSize.

evaluationSampleRate :: NumDataSource

The sample rate used in a normal (non-visual) comparison (in seconds).

displaySampleRate :: NumDataSource

The sample rate used when visually comparing a chord annotation with a ground-truth annotation. Often a higher sample rate is preferred. Although one uses precision, the visual result is easier to read.

outputSampleRate :: IntSource

Before feature extraction, all audio is downsampled to outputSampleRate Hz. N.B. If the sample rate is changed the VAMP plugin transforms should be updated accordingly (see beat, chroma, key).

outputBitsPerSample :: IntSource

Before feature extraction, all audio is converted to contain outputBitsPerSample bits per sample.

outputNrOfChannels :: IntSource

Before feature extraction, all audio is converted to contain a fixed number of channels, e.g. 1 for mono or 2 for stereo.

keyStr :: StringSource

The strings that build up a audio feature file name

chromaStr :: StringSource

The strings that build up a audio feature file name

beatStr :: StringSource

The strings that build up a audio feature file name

beatVampPath :: FilePathSource

specifying the filename of the beat tracker VAMP plugin transform file

chromaVampPath :: FilePathSource

specifying the filename of the NNLS chroma VAMP plugin transform file

keyVampPath :: FilePathSource

specifying the filename of the key-finding chroma VAMP plugin transform file

deleteDownsampledWav :: BoolSource

Controls whether the downsampled wav file is deleted after feature extraction.

downSample :: BoolSource

Controls whether SoX is used to downsample the audio or whether the audio file is passed to the sonic annotator directly. If 'downSample is set to False, all paramters downsampling parameters will be ignored

Controls whether the downsampled wav file is deleted after feature extraction.

defaultVampDir :: FilePathSource

The default base directory is the current directory

logFileSuffix :: StringSource

By default we assume the sonic-annotator is in the path

sonicAnnotator :: StringSource

By default we assume the sonic-annotator is in the path

modulationPenalty :: NumDataSource

The penatly given in the cumulative key strength calculation. For every beat the correlation between a Krumhansl profile and the current beat synchronised chroma feature is calculated for all 24 keys at every beat. An optimal path through this table can be defined as: $M[i,j] = max { M[i-1,j] + K[i,j], M[i-1,j] + K[i,k] + p, } where {k mid forall x : K[i,x] leq K[i,k]}$ where $p$ is the modulationPenalty, i.e. the penalty for changing the key at that particular beat.

minModulationLength :: IntSource

The minimal length in beats of a key segment

data ChordPrintOpts Source

An ennumerator of determining the output format of the chords

defaultChordPrinting :: ChordPrintOptsSource

By default we only display major and minor chords to the user (because the transcription quality of these chords is better than that of the chord class).