Mercurial > hg > nnls-chroma
comparison Chordino.cpp @ 58:01bc078f5f61 matthiasm-plugin
updated plugin and some parameter and output descriptions. adjusted the n3 file (only skeleton so far).
author | matthiasm |
---|---|
date | Mon, 25 Oct 2010 22:57:47 +0900 |
parents | bc161fd73858 |
children | 1ccb883b585f |
comparison
equal
deleted
inserted
replaced
57:58a390dfba70 | 58:01bc078f5f61 |
---|---|
58 | 58 |
59 string | 59 string |
60 Chordino::getDescription() const | 60 Chordino::getDescription() const |
61 { | 61 { |
62 if (debug_on) cerr << "--> getDescription" << endl; | 62 if (debug_on) cerr << "--> getDescription" << endl; |
63 return "This plugin provides a number of features derived from a log-frequency amplitude spectrum of the DFT: some variants of the log-frequency spectrum, including a semitone spectrum derived from approximate transcription using the NNLS algorithm; based on this semitone spectrum, chroma features and a simple chord estimate."; | 63 return "Chordino provides a simple chord transcription based on NNLS Chroma (as in the NNLS Chroma plugin). Chord profiles given by the user in the file chord.dict are used to calculate frame-wise chord similarities. Two simple (non-state-of-the-art!) algorithms are available that smooth these to provide a chord transcription: a simple chord change method, and a standard HMM/Viterbi approach."; |
64 } | 64 } |
65 | 65 |
66 Chordino::ParameterList | 66 Chordino::ParameterList |
67 Chordino::getParameterDescriptors() const | 67 Chordino::getParameterDescriptors() const |
68 { | 68 { |
94 list.push_back(d4); | 94 list.push_back(d4); |
95 | 95 |
96 ParameterDescriptor d0; | 96 ParameterDescriptor d0; |
97 d0.identifier = "rollon"; | 97 d0.identifier = "rollon"; |
98 d0.name = "spectral roll-on"; | 98 d0.name = "spectral roll-on"; |
99 d0.description = "The bins below the spectral roll-on quantile will be set to 0."; | 99 d0.description = "Consider the cumulative energy spectrum (from low to high frequencies). All bins below the first bin whose cumulative energy exceeds the quantile [spectral roll on] x [total energy] will be set to 0. A value of 0 means that no bins will be changed."; |
100 d0.unit = ""; | 100 d0.unit = ""; |
101 d0.minValue = 0; | 101 d0.minValue = 0; |
102 d0.maxValue = 0.05; | 102 d0.maxValue = 0.05; |
103 d0.defaultValue = 0; | 103 d0.defaultValue = 0; |
104 d0.isQuantized = true; | 104 d0.isQuantized = true; |
170 int index = 0; | 170 int index = 0; |
171 | 171 |
172 OutputDescriptor d7; | 172 OutputDescriptor d7; |
173 d7.identifier = "simplechord"; | 173 d7.identifier = "simplechord"; |
174 d7.name = "Chord Estimate"; | 174 d7.name = "Chord Estimate"; |
175 d7.description = "A simple chord estimate based on the inner product of chord templates with the smoothed chroma."; | 175 d7.description = "Estimated chord times and labels. Two simple (non-state-of-the-art!) algorithms are available that smooth these to provide a chord transcription: a simple chord change method, and a standard HMM/Viterbi approach."; |
176 d7.unit = ""; | 176 d7.unit = ""; |
177 d7.hasFixedBinCount = true; | 177 d7.hasFixedBinCount = true; |
178 d7.binCount = 0; | 178 d7.binCount = 0; |
179 d7.hasKnownExtents = false; | 179 d7.hasKnownExtents = false; |
180 d7.isQuantized = false; | 180 d7.isQuantized = false; |
183 d7.sampleRate = (m_stepSize == 0) ? m_inputSampleRate/2048 : m_inputSampleRate/m_stepSize; | 183 d7.sampleRate = (m_stepSize == 0) ? m_inputSampleRate/2048 : m_inputSampleRate/m_stepSize; |
184 list.push_back(d7); | 184 list.push_back(d7); |
185 m_outputChords = index++; | 185 m_outputChords = index++; |
186 | 186 |
187 OutputDescriptor d8; | 187 OutputDescriptor d8; |
188 d8.identifier = "harmonicchange"; | 188 d8.identifier = ""; |
189 d8.name = "Harmonic Change Value"; | 189 d8.name = "Harmonic Change Value"; |
190 d8.description = "Harmonic change."; | 190 d8.description = "An indication of the likelihood of harmonic change. Depends on the chord dictionary. Calculation is different depending on whether the Viterbi algorithm is used for chord estimation, or the simple chord estimate."; |
191 d8.unit = ""; | 191 d8.unit = ""; |
192 d8.hasFixedBinCount = true; | 192 d8.hasFixedBinCount = true; |
193 d8.binCount = 1; | 193 d8.binCount = 1; |
194 d8.hasKnownExtents = true; | 194 d8.hasKnownExtents = true; |
195 d8.minValue = 0.0; | 195 d8.minValue = 0.0; |