comparison plugin-doc/qm-vamp-plugins.html @ 29:90a1fa18d239 website

* Update docs for new plugins
author cannam
date Tue, 30 Jun 2009 14:50:35 +0000
parents 16f8de0dc974
children 600a7edf514c
comparison
equal deleted inserted replaced
28:68ef31b9dc44 29:90a1fa18d239
24 <p>For more information about Vamp plugins, see <a href="http://www.vamp-plugins.org/">http://www.vamp-plugins.org/</a> . 24 <p>For more information about Vamp plugins, see <a href="http://www.vamp-plugins.org/">http://www.vamp-plugins.org/</a> .
25 </p> 25 </p>
26 26
27 <div class="toc2">1. &nbsp;<a href="#qm-onsetdetector">Note Onset Detector</a></div> 27 <div class="toc2">1. &nbsp;<a href="#qm-onsetdetector">Note Onset Detector</a></div>
28 <div class="toc2">2. &nbsp;<a href="#qm-tempotracker">Tempo and Beat Tracker</a></div> 28 <div class="toc2">2. &nbsp;<a href="#qm-tempotracker">Tempo and Beat Tracker</a></div>
29 <div class="toc2">3. &nbsp;<a href="#qm-keydetector">Key Detector</a></div> 29 <div class="toc2">3. &nbsp;<a href="#qm-barbeattracker">Bar and Beat Tracker</a></div>
30 <div class="toc2">4. &nbsp;<a href="#qm-tonalchange">Tonal Change</a></div> 30 <div class="toc2">4. &nbsp;<a href="#qm-keydetector">Key Detector</a></div>
31 <div class="toc2">5. &nbsp;<a href="#qm-segmenter">Segmenter</a></div> 31 <div class="toc2">5. &nbsp;<a href="#qm-tonalchange">Tonal Change</a></div>
32 <div class="toc2">6. &nbsp;<a href="#qm-similarity">Similarity</a></div> 32 <div class="toc2">6. &nbsp;<a href="#qm-adaptivespectrogram">Adaptive Spectrogram</a></div>
33 <div class="toc2">7. &nbsp;<a href="#qm-constantq">Constant-Q Spectrogram</a></div> 33 <div class="toc2">7. &nbsp;<a href="#qm-transcription">Polyphonic Transcription</a></div>
34 <div class="toc2">8. &nbsp;<a href="#qm-chromagram">Chromagram</a></div> 34 <div class="toc2">8. &nbsp;<a href="#qm-segmenter">Segmenter</a></div>
35 <div class="toc2">9. &nbsp;<a href="#qm-mfcc">Mel-Frequency Cepstral Coefficients</a></div> 35 <div class="toc2">9. &nbsp;<a href="#qm-similarity">Similarity</a></div>
36 36 <div class="toc2">10. &nbsp;<a href="#qm-dwt">Discrete Wavelet Transform</a></div>
37 <a name="qm-onsetdetector"></a><a name="qm-"></a><h2>1. Note Onset Detector</h2> 37 <div class="toc2">11. &nbsp;<a href="#qm-constantq">Constant-Q Spectrogram</a></div>
38 <div class="toc2">12. &nbsp;<a href="#qm-chromagram">Chromagram</a></div>
39 <div class="toc2">13. &nbsp;<a href="#qm-mfcc">Mel-Frequency Cepstral Coefficients</a></div>
40
41 <a name="qm-onsetdetector"></a><h2>1. Note Onset Detector</h2>
38 42
39 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-onsetdetector</code> 43 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-onsetdetector</code>
40 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-onsetdetector">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-onsetdetector</a> 44 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-onsetdetector">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-onsetdetector</a>
41 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 45 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
42 </p> 46 </p>
98 B. Lawlor, <i><a href="http://eleceng.dit.ie/papers/15.pdf">Drum Source Separation using Percussive Feature Detection and Spectral Modulation</a></i>. ISSC 2005. 102 B. Lawlor, <i><a href="http://eleceng.dit.ie/papers/15.pdf">Drum Source Separation using Percussive Feature Detection and Spectral Modulation</a></i>. ISSC 2005.
99 </p> 103 </p>
100 <p>The Note Onset Detector Vamp plugin was written by Chris Duxbury, Juan 104 <p>The Note Onset Detector Vamp plugin was written by Chris Duxbury, Juan
101 Pablo Bello and Christian Landone. 105 Pablo Bello and Christian Landone.
102 </p> 106 </p>
107
103 <a name="qm-tempotracker"></a><h2>2. Tempo and Beat Tracker</h2> 108 <a name="qm-tempotracker"></a><h2>2. Tempo and Beat Tracker</h2>
104 109
105 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-tempotracker</code> 110 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-tempotracker</code>
106 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tempotracker">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tempotracker</a> 111 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tempotracker">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tempotracker</a>
107 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 112 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
110 estimates the positions of metrical beats within the music (the 115 estimates the positions of metrical beats within the music (the
111 equivalent of a human listener tapping their foot to the beat). 116 equivalent of a human listener tapping their foot to the beat).
112 </p> 117 </p>
113 <h3>Parameters</h3> 118 <h3>Parameters</h3>
114 119
115 <p><b>Onset Detection Function Type</b> &ndash; The method used to calculate the 120 <p><b>Beat Tracking Method</b> &ndash; The method used to track beats. The default, "New", uses a
121
122 <!-- HERE!!!! -->
123
124 <p><b>Onset Detection Function Type</b> &ndash; The algorithm used to calculate the
116 onset likelihood function. The most versatile method is the default, 125 onset likelihood function. The most versatile method is the default,
117 "Complex Domain" (see reference, Duxbury et al 2003). "Spectral 126 "Complex Domain" (see reference, Duxbury et al 2003). "Spectral
118 Difference" may be appropriate for percussive recordings, "Phase 127 Difference" may be appropriate for percussive recordings, "Phase
119 Deviation" for non-percussive music, and "Broadband Energy Rise" (see 128 Deviation" for non-percussive music, and "Broadband Energy Rise" (see
120 reference, Barry et al 2005) for identifying percussive onsets in 129 reference, Barry et al 2005) for identifying percussive onsets in
141 <h3>References and Credits</h3> 150 <h3>References and Credits</h3>
142 151
143 <p><b>Beat tracking method</b>: M. E. P. Davies and M. D. Plumbley. 152 <p><b>Beat tracking method</b>: M. E. P. Davies and M. D. Plumbley.
144 <i><a href="http://www.elec.qmul.ac.uk/people/markp/2007/DaviesPlumbley07-taslp.pdf">Context-dependent beat tracking of musical audio</a></i>. In IEEE 153 <i><a href="http://www.elec.qmul.ac.uk/people/markp/2007/DaviesPlumbley07-taslp.pdf">Context-dependent beat tracking of musical audio</a></i>. In IEEE
145 Transactions on Audio, Speech and Language Processing. Vol. 15, No. 3, 154 Transactions on Audio, Speech and Language Processing. Vol. 15, No. 3,
146 pp1009-1020, 2007. See also M. E. P. Davies and M. D. Plumbley. 155 pp1009-1020, 2007;<br>see also M. E. P. Davies and M. D. Plumbley.
147 <i><a href="http://www.elec.qmul.ac.uk/people/markp/2005/DaviesPlumbley05-icassp.pdf">Beat Tracking With A Two State Model</a></i>. In Proceedings of the IEEE 156 <i><a href="http://www.elec.qmul.ac.uk/people/markp/2005/DaviesPlumbley05-icassp.pdf">Beat Tracking With A Two State Model</a></i>. In Proceedings of the IEEE
148 International Conference on Acoustics, Speech and Signal Processing 157 International Conference on Acoustics, Speech and Signal Processing
149 (ICASSP 2005), Vol. 3, pp241-244 Philadelphia, USA, March 19-23, 2005. 158 (ICASSP 2005), Vol. 3, pp241-244 Philadelphia, USA, March 19-23, 2005.
150 </p> 159 </p>
151 <p><b>Onset detection methods</b>: C. Duxbury, J. P. Bello, M. Davies and 160 <p><b>Onset detection methods</b>: C. Duxbury, J. P. Bello, M. Davies and
161 B. Lawlor, <i><a href="http://eleceng.dit.ie/papers/15.pdf">Drum Source Separation using Percussive Feature Detection and Spectral Modulation</a></i>. ISSC 2005. 170 B. Lawlor, <i><a href="http://eleceng.dit.ie/papers/15.pdf">Drum Source Separation using Percussive Feature Detection and Spectral Modulation</a></i>. ISSC 2005.
162 </p> 171 </p>
163 <p>The Tempo and Beat Tracker Vamp plugin was written by Matthew Davies 172 <p>The Tempo and Beat Tracker Vamp plugin was written by Matthew Davies
164 and Christian Landone. 173 and Christian Landone.
165 </p> 174 </p>
166 <a name="qm-keydetector"></a><h2>3. Key Detector</h2> 175
176
177 <a name="qm-barbeattracker"></a><h2>3. Bar and Beat Tracker</h2>
178
179 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-barbeattracker</code>
180 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-barbeattracker">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-barbeattracker</a>
181 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
182 </p>
183
184 <p>Bar and Beat Tracker analyses a single channel of audio and
185 estimates the positions of bar lines and the resulting counted
186 metrical beat positions within the music (where the first beat of
187 each bar is "1", the equivalent of counting in time to the music).
188 It is closely related to the <a href="#qm-tempotracker">Tempo and
189 Beat Tracker</a>, producing the same results for beat position as
190 that plugin's "New" beat tracking method.
191
192 </p>
193
194 <h3>Method</h3>
195
196 <p>The plugin first calculates an onset detection function using the
197 "Complex Domain" method (see <a href="#qm-tempotracker">Tempo and Beat
198 Tracker</a>).</p>
199
200 <p>The beat tracking method performs two passes over the onset
201 detection function, first to estimate the tempo contour, and then
202 given the tempo, to recover the beat locations.</p>
203
204 <p>To identify the tempo, the onset detection function is partitioned
205 into 6-second frames with a 1.5-second increment. The autocorrelation
206 function of each 6-second onset detection function is found and this
207 is then passed through a perceptually weighted comb filterbank (see
208 reference Davies 2007). The successive comb filterbank output signals
209 are grouped together into a matrix of observations of periodicity
210 through time. The best path of periodicity through these observations
211 is found using the Viterbi algorithm, where the transition matrix is
212 defined as a diagonal Gaussian.</p>
213
214 <p>Given the estimates of periodicity, the beat locations are recovered
215 by applying the dynamic programming algorithm (see reference Ellis
216 2007). This process involves the calculation of a recursive cumulative
217 score function and backtrace signal. The cumulative score indicates
218 the likelihood of a beat existing at each sample of the onset
219 detection function input, and the backtrace gives the location of the
220 best previous beat given this point in time. Once the cumulative score
221 and backtrace have been calculated for the whole input signal, the
222 best path through beat locations is found by recursively sampling the
223 backtrace signal from the end of the input signal back to the
224 beginning. See reference Stark et al. 2009 for a description of the
225 real-time implementation of the beat tracking algorithm.</p>
226
227 <p>Once the beat locations have been identified, the plugin makes a
228 second pass over the input audio signal, partitioning it into beat
229 synchronous frames. The audio within each beat frame is down-sampled
230 to give a new sampling frequency of 2.8kHz. A beat-synchronous
231 spectral representation is then calculated within each frame, from
232 which a measure of beat spectral difference is calculated using
233 Jensen-Shannon divergence. The bar boundaries are identified as those
234 beat transitions leading to most consistent spectral change given the
235 specified number of beats per bar.</p>
236
237 <h3>Parameters</h3>
238
239 <p><b>Beats per Bar</b> &ndash; The number of beats per bar (or measure). The
240 plugin assumes that the number of beats per bar is fixed throughout
241 the music.
242 </p>
243 <h3>Outputs</h3>
244
245 <p><b>Beats</b> &ndash; The estimated beat locations, returned as a single feature,
246 with timestamp but no value, for each beat, labelled with the
247 number of that beat within the bar (e.g. consecutively 1, 2, 3, 4 for 4 beats to the bar).
248 </p>
249 <p><b>Bars</b> &ndash; The estimated bar line locations, returned as a single feature,
250 with timestamp but no value, for each bar.
251 </p>
252 <p><b>Beat Count</b> &ndash; The estimated beat locations, returned as a single feature,
253 with timestamp and a value corresponding to the
254 number of that beat within the bar. This is similar to the Beats output except that it returns a counting function rather than a series of instants.
255 </p>
256 <p><b>Beat Spectral Difference</b> &ndash; The new-bar likelihood function used in bar line estimation.
257 </p>
258
259 <h3>References and Credits</h3>
260
261 <p><b>Beat tracking method</b>: A. M. Stark, M. E. P. Davies and
262 M. D. Plumbley. <i>Real-time beat-synchronous analysis of musical
263 audio</i>. To appear in Proceedings of 12th International Conference
264 on Digital Audio Effects (DAFx). 2009;<br>M. E. P. Davies and
265 M. D. Plumbley. <i><a
266 href="http://www.elec.qmul.ac.uk/people/markp/2007/DaviesPlumbley07-taslp.pdf">Context-dependent
267 beat tracking of musical audio</a></i>. In IEEE Transactions on
268 Audio, Speech and Language Processing. Vol. 15, No. 3, pp1009-1020,
269 2007;<br>D. P. W. Ellis. <i>Beat Tracking by Dynamic
270 Programming</i>. In Journal of New Music Research. Vol. 37, No. 1,
271 pp51-60, 2007.</p>
272
273 <p><b>Bar finding method</b>: M. E. P. Davies and M. D. Plumbley. <i>A
274 spectral difference approach to extracting downbeats in musical
275 audio</i>. In Proceedings of 14th European Signal Processing Conference
276 (EUSIPCO), Italy, 2006.</p>
277
278 <p>The Bar and Beat Tracker Vamp plugin was written by Matthew Davies and Adam Stark.
279 </p>
280
281
282
283 <a name="qm-keydetector"></a><h2>4. Key Detector</h2>
167 284
168 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-keydetector</code> 285 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-keydetector</code>
169 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-keydetector">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-keydetector</a> 286 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-keydetector">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-keydetector</a>
170 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 287 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
171 </p> 288 </p>
219 122nd Convention, Vienna, 2007. 336 122nd Convention, Vienna, 2007.
220 </p> 337 </p>
221 <p>The Key Detector Vamp plugin was written by Katy Noland and Christian 338 <p>The Key Detector Vamp plugin was written by Katy Noland and Christian
222 Landone. 339 Landone.
223 </p> 340 </p>
224 <a name="qm-tonalchange"></a><h2>4. Tonal Change</h2> 341
342 <a name="qm-tonalchange"></a><h2>5. Tonal Change</h2>
225 343
226 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-tonalchange</code> 344 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-tonalchange</code>
227 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tonalchange">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tonalchange</a> 345 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tonalchange">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tonalchange</a>
228 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 346 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
229 </p> 347 </p>
264 <h3>References and Credits</h3> 382 <h3>References and Credits</h3>
265 383
266 <p><b>Method</b>: C. A. Harte, M. Gasser, and M. Sandler. <i><a href="http://portal.acm.org/citation.cfm?id=1178723.1178727">Detecting harmonic change in musical audio</a></i>. In Proceedings of the 1st ACM workshop on 384 <p><b>Method</b>: C. A. Harte, M. Gasser, and M. Sandler. <i><a href="http://portal.acm.org/citation.cfm?id=1178723.1178727">Detecting harmonic change in musical audio</a></i>. In Proceedings of the 1st ACM workshop on
267 Audio and Music Computing Multimedia, Santa Barbara, 2006. 385 Audio and Music Computing Multimedia, Santa Barbara, 2006.
268 </p> 386 </p>
269 <p>The Tonal Change Vamp plugin was wrtitten by Chris Harte and Martin 387 <p>The Tonal Change Vamp plugin was written by Chris Harte and Martin
270 Gasser. 388 Gasser.
271 </p> 389 </p>
272 <a name="qm-segmenter"></a><h2>5. Segmenter</h2> 390
391
392 <a name="qm-adaptivespectrogram"></a><h2>6. Adaptive Spectrogram</h2>
393
394 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-adaptivespectrogram</code>
395 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-adaptivespectrogram">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-adaptivespectrogram</a>
396 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
397 </p>
398
399 <p>Adaptive Spectrogram produces a composite spectrogram from a set of
400 series of short-time Fourier transforms at differing resolutions.
401 Values are selected from these spectrograms by repeated subdivision by
402 time and frequency in order to maximise an entropy function across
403 each column.</p>
404
405 <h3>Parameters</h3>
406
407 <p><b>Number of resolutions</b> &ndash; The number of distinct
408 resolutions to calculate and use. The resolutions will be consecutive
409 powers of two starting from the smallest resolution specified.</p>
410
411 <p><b>Smallest resolution</b> &ndash; The smallest of the set of
412 resolutions to use.</p>
413
414 <p><b>Omit alternate resolutions</b> &ndash; Causes the plugin to
415 ignore alternate resolutions (i.e. the smallest resolution multiplied
416 by 2, 8, 32, etc) when composing a spectrogram. The smallest
417 resolution specified, and its multiples by 4, 16, etc as applicable,
418 will be retained. The total number of resolutions actually included
419 in the resulting spectrogram will therefore be N/2 (for even N) or
420 (N+1)/2 (for odd N) where N is the value of the "number of
421 resolutions" parameter. This permits a wider range of resolutions to
422 be included with less processing, at obvious cost in quality.</p>
423
424 <p><b>Multi-threaded processing</b> &ndash; Enables multi-threading of
425 the spectrogram calculation. This usually results in somewhat faster
426 processing where multiple CPU cores are available.</p>
427
428 <p>As an example of the resolution parameters, if the "number of
429 resolutions" is set to 5, "smallest resolution" to 128, and "omit
430 alternate resolutions" is not used, the composite spectrogram will be
431 calculated using spectrograms from 128, 256, 512, 1024, and 2048 point
432 short-time Fourier transforms (with 50% overlap in each case). With
433 "omit alternate resolutions" set, the same parameters would result in
434 spectrograms from 128, 512, and 2048 point STFTs being used.</p>
435
436 <h3>References and Credits</h3>
437
438 <p><b>Method</b>: X. Wen and M. Sandler. <i><a href="http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&id=ISPECX000003000001000051000001">Composite spectrogram using multiple Fourier transforms</a></i>. IET Signal Processing, 3(1):51-63, 2009.
439 </p>
440
441 <p>The Adaptive Spectrogram Vamp plugin was written by Wen Xue and Chris Cannam.</p>
442
443 <a name="qm-transcription"></a><h2>7. Polyphonic Transcription</h2>
444
445 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-transcription</code>
446 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-transcription">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-transcription</a>
447 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
448
449 <p>The Polyphonic Transcription plugin estimates a note transcription
450 using MIDI pitch values from its input audio, returning a feature for
451 each note (with timestamp and duration) whose value is the MIDI pitch
452 number. Velocity is not estimated.</p>
453
454 <p>Although the published description of the method is described as
455 real-time, the implementation used in this plugin is non-causal; it
456 buffers its input to operate on in a single unit, doing all the real
457 work after its entire input has been received, and is very memory
458 intensive. However, it is relatively fast (faster than real-time)
459 compared to other polyphonic transcription methods.</p>
460
461 <p>The plugin works best at 44.1KHz input sample rate, and is tuned for
462 piano and guitar music.</p>
463
464
465 <h3>References and Credits</h3>
466
467 <p><b>Method</b>: R. Zhou and J. D. Reiss. <i>A Real-Time Polyphonic Music Transcription System</i>. In Proceedings of the Fourth Music Information Retrieval Evaluation eXchange (MIREX), Philadelphia, USA, 2008;<br>R. Zhou and J. D. Reiss. <i>A Real-Time Frame-Based Multiple Pitch Estimation Method Using the Resonator Time Frequency Image</i>. Third Music Information Retrieval Evaluation eXchange (MIREX), Vienna, Austria, 2007.</p>
468
469 <p>The Polyphonic Transcription Vamp plugin was written by Ruohua Zhou.</p>
470
471
472 <a name="qm-segmenter"></a><h2>8. Segmenter</h2>
273 473
274 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-segmenter</code> 474 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-segmenter</code>
275 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-segmenter">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-segmenter</a> 475 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-segmenter">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-segmenter</a>
276 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 476 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
277 </p> 477 </p>
366 of the segmentation method described in the paper. 566 of the segmentation method described in the paper.
367 </p> 567 </p>
368 <p>The Segmenter Vamp plugin was written by Mark Levy. Thanks to George 568 <p>The Segmenter Vamp plugin was written by Mark Levy. Thanks to George
369 Fazekas for providing much of this documentation. 569 Fazekas for providing much of this documentation.
370 </p> 570 </p>
371 <a name="qm-similarity"></a><h2>6. Similarity</h2> 571 <a name="qm-similarity"></a><h2>9. Similarity</h2>
372 572
373 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-similarity</code> 573 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-similarity</code>
374 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-similarity">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-similarity</a> 574 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-similarity">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-similarity</a>
375 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 575 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
376 </p> 576 </p>
451 (ISMIR), 2006. 651 (ISMIR), 2006.
452 </p> 652 </p>
453 <p>The Similarity Vamp plugin was written by Mark Levy, Kurt Jacobson and 653 <p>The Similarity Vamp plugin was written by Mark Levy, Kurt Jacobson and
454 Chris Cannam. 654 Chris Cannam.
455 </p> 655 </p>
456 <a name="qm-constantq"></a><h2>7. Constant-Q Spectrogram</h2> 656
657
658 <a name="qm-dwt"></a><h2>10. Discrete Wavelet Transform</h2>
659
660 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-dwt</code>
661 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-dwt">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-dwt</a>
662 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
663
664 <p>Discrete Wavelet Transform plugin performs the forward DWT on the
665 signal. The wavelet coefficients are derived from a fast segmented DWT
666 algorithm without block end effects. The DWT can be performed with
667 various functions from a selection of wavelets up to the 16th scale.<p>
668
669 <p>The wavelet coefficients are returned as feature columns at a rate of
670 half the sample rate of the signal to be analysed. To simulate
671 multiresolution in the layer data table, the coefficient values at
672 higher scales are copied multiple times according to the number of the
673 scale. For example, for scale 2 each value will appear twice, at scale
674 3 they will be appear four times, at scale 4 there will be 8 times the
675 same coefficient value in order to simulate the lower resolution at
676 higher scales.</p>
677
678 <h3>Parameters</h3>
679
680 <p><b>Scales</b> &ndash; Adjusts the number of scales of the DWT. The
681 processing block size needs to be set to at least 2<sup>n</sup>, where n =
682 number of scales.</p>
683
684 <p><b>Wavelet</b> &ndash; Selects the wavelet function to be used for
685 the transform. Wavelets from the following families are available:
686 Daubechies, Symlets, Coiflets, Biorthogonal, Meyer.</p>
687
688 <h3>References and Credits</h3>
689
690 <p><b>Principles</b>: S. Mallat. <i>A theory for multiresolution signal decomposition: the wavelet representation</i>. In IEEE Transactions on Pattern Analysis and Machine Intelligence, 11 (1989), pp. 674-693;<br>
691 P. Rajmic and J. Vlach. <i>Real-Time Audio Processing via Segmented Wavelet Transform</i>. In Proceedings of the 10th Int. Conference on Digital Audio Effects (DAFx-07), Bordeaux, France, September 10-15, 2007.</p>
692
693 <p>The Discrete Wavelet Transform plugin was written by Thomas Wilmering.</p>
694
695 <a name="qm-constantq"></a><h2>11. Constant-Q Spectrogram</h2>
457 696
458 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-constantq</code> 697 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-constantq</code>
459 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-constantq">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-constantq</a> 698 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-constantq">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-constantq</a>
460 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 699 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
461 </p> 700 </p>
501 425-434, 1991. 740 425-434, 1991.
502 </p> 741 </p>
503 <p>The Constant-Q Spectrogram Vamp plugin was written by Christian 742 <p>The Constant-Q Spectrogram Vamp plugin was written by Christian
504 Landone. 743 Landone.
505 </p> 744 </p>
506 <a name="qm-chromagram"></a><h2>8. Chromagram</h2> 745 <a name="qm-chromagram"></a><h2>12. Chromagram</h2>
507 746
508 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-chromagram</code> 747 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-chromagram</code>
509 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-chromagram">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-chromagram</a> 748 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-chromagram">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-chromagram</a>
510 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 749 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
511 </p> 750 </p>
551 </p> 790 </p>
552 <h3>References and Credits</h3> 791 <h3>References and Credits</h3>
553 792
554 <p>The Chromagram Vamp plugin was written by Christian Landone. 793 <p>The Chromagram Vamp plugin was written by Christian Landone.
555 </p> 794 </p>
556 <a name="qm-mfcc"></a><h2>9. Mel-Frequency Cepstral Coefficients</h2> 795 <a name="qm-mfcc"></a><h2>13. Mel-Frequency Cepstral Coefficients</h2>
557 796
558 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-mfcc</code> 797 <p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-mfcc</code>
559 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-mfcc">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-mfcc</a> 798 <br><b>RDF URI</b> &ndash; <a href="http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-mfcc">http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-mfcc</a>
560 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a> 799 <br><b>Links</b> &ndash; <a href="#">Back to top of library documentation</a> &ndash; <a href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">Download location</a>
561 </p> 800 </p>