# HG changeset patch # User cannam # Date 1246373435 0 # Node ID 90a1fa18d239430cb944423beff217395983fcfd # Parent 68ef31b9dc4437b87652865405d899ab3807b691 * Update docs for new plugins diff -r 68ef31b9dc44 -r 90a1fa18d239 plugin-doc/qm-vamp-plugins.html --- a/plugin-doc/qm-vamp-plugins.html Mon Mar 30 09:20:32 2009 +0000 +++ b/plugin-doc/qm-vamp-plugins.html Tue Jun 30 14:50:35 2009 +0000 @@ -26,15 +26,19 @@
1.  Note Onset Detector
2.  Tempo and Beat Tracker
-
3.  Key Detector
-
4.  Tonal Change
-
5.  Segmenter
-
6.  Similarity
-
7.  Constant-Q Spectrogram
-
8.  Chromagram
-
9.  Mel-Frequency Cepstral Coefficients
+
3.  Bar and Beat Tracker
+
4.  Key Detector
+
5.  Tonal Change
+
6.  Adaptive Spectrogram
+
7.  Polyphonic Transcription
+
8.  Segmenter
+
9.  Similarity
+
10.  Discrete Wavelet Transform
+
11.  Constant-Q Spectrogram
+
12.  Chromagram
+
13.  Mel-Frequency Cepstral Coefficients
-

1. Note Onset Detector

+

1. Note Onset Detector

System identifiervamp:qm-vamp-plugins:qm-onsetdetector
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-onsetdetector @@ -100,6 +104,7 @@

The Note Onset Detector Vamp plugin was written by Chris Duxbury, Juan Pablo Bello and Christian Landone.

+

2. Tempo and Beat Tracker

System identifiervamp:qm-vamp-plugins:qm-tempotracker @@ -112,7 +117,11 @@

Parameters

-

Onset Detection Function Type – The method used to calculate the +

Beat Tracking Method – The method used to track beats. The default, "New", uses a + + + +

Onset Detection Function Type – The algorithm used to calculate the onset likelihood function. The most versatile method is the default, "Complex Domain" (see reference, Duxbury et al 2003). "Spectral Difference" may be appropriate for percussive recordings, "Phase @@ -143,7 +152,7 @@

Beat tracking method: M. E. P. Davies and M. D. Plumbley. Context-dependent beat tracking of musical audio. In IEEE Transactions on Audio, Speech and Language Processing. Vol. 15, No. 3, - pp1009-1020, 2007. See also M. E. P. Davies and M. D. Plumbley. + pp1009-1020, 2007;
see also M. E. P. Davies and M. D. Plumbley. Beat Tracking With A Two State Model. In Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP 2005), Vol. 3, pp241-244 Philadelphia, USA, March 19-23, 2005. @@ -163,7 +172,115 @@

The Tempo and Beat Tracker Vamp plugin was written by Matthew Davies and Christian Landone.

-

3. Key Detector

+ + +

3. Bar and Beat Tracker

+ +

System identifiervamp:qm-vamp-plugins:qm-barbeattracker +
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-barbeattracker +
LinksBack to top of library documentationDownload location +

+ +

Bar and Beat Tracker analyses a single channel of audio and + estimates the positions of bar lines and the resulting counted + metrical beat positions within the music (where the first beat of + each bar is "1", the equivalent of counting in time to the music). + It is closely related to the Tempo and + Beat Tracker, producing the same results for beat position as + that plugin's "New" beat tracking method. + +

+ +

Method

+ +

The plugin first calculates an onset detection function using the +"Complex Domain" method (see Tempo and Beat +Tracker).

+ +

The beat tracking method performs two passes over the onset +detection function, first to estimate the tempo contour, and then +given the tempo, to recover the beat locations.

+ +

To identify the tempo, the onset detection function is partitioned +into 6-second frames with a 1.5-second increment. The autocorrelation +function of each 6-second onset detection function is found and this +is then passed through a perceptually weighted comb filterbank (see +reference Davies 2007). The successive comb filterbank output signals +are grouped together into a matrix of observations of periodicity +through time. The best path of periodicity through these observations +is found using the Viterbi algorithm, where the transition matrix is +defined as a diagonal Gaussian.

+ +

Given the estimates of periodicity, the beat locations are recovered +by applying the dynamic programming algorithm (see reference Ellis +2007). This process involves the calculation of a recursive cumulative +score function and backtrace signal. The cumulative score indicates +the likelihood of a beat existing at each sample of the onset +detection function input, and the backtrace gives the location of the +best previous beat given this point in time. Once the cumulative score +and backtrace have been calculated for the whole input signal, the +best path through beat locations is found by recursively sampling the +backtrace signal from the end of the input signal back to the +beginning. See reference Stark et al. 2009 for a description of the +real-time implementation of the beat tracking algorithm.

+ +

Once the beat locations have been identified, the plugin makes a +second pass over the input audio signal, partitioning it into beat +synchronous frames. The audio within each beat frame is down-sampled +to give a new sampling frequency of 2.8kHz. A beat-synchronous +spectral representation is then calculated within each frame, from +which a measure of beat spectral difference is calculated using +Jensen-Shannon divergence. The bar boundaries are identified as those +beat transitions leading to most consistent spectral change given the +specified number of beats per bar.

+ +

Parameters

+ +

Beats per Bar – The number of beats per bar (or measure). The +plugin assumes that the number of beats per bar is fixed throughout +the music. +

+

Outputs

+ +

Beats – The estimated beat locations, returned as a single feature, + with timestamp but no value, for each beat, labelled with the + number of that beat within the bar (e.g. consecutively 1, 2, 3, 4 for 4 beats to the bar). +

+

Bars – The estimated bar line locations, returned as a single feature, + with timestamp but no value, for each bar. +

+

Beat Count – The estimated beat locations, returned as a single feature, + with timestamp and a value corresponding to the + 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. +

+

Beat Spectral Difference – The new-bar likelihood function used in bar line estimation. +

+ +

References and Credits

+ +

Beat tracking method: A. M. Stark, M. E. P. Davies and + M. D. Plumbley. Real-time beat-synchronous analysis of musical + audio. To appear in Proceedings of 12th International Conference + on Digital Audio Effects (DAFx). 2009;
M. E. P. Davies and + M. D. Plumbley. Context-dependent + beat tracking of musical audio. In IEEE Transactions on + Audio, Speech and Language Processing. Vol. 15, No. 3, pp1009-1020, + 2007;
D. P. W. Ellis. Beat Tracking by Dynamic + Programming. In Journal of New Music Research. Vol. 37, No. 1, + pp51-60, 2007.

+ +

Bar finding method: M. E. P. Davies and M. D. Plumbley. A +spectral difference approach to extracting downbeats in musical +audio. In Proceedings of 14th European Signal Processing Conference +(EUSIPCO), Italy, 2006.

+ +

The Bar and Beat Tracker Vamp plugin was written by Matthew Davies and Adam Stark. +

+ + + +

4. Key Detector

System identifiervamp:qm-vamp-plugins:qm-keydetector
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-keydetector @@ -221,7 +338,8 @@

The Key Detector Vamp plugin was written by Katy Noland and Christian Landone.

-

4. Tonal Change

+ +

5. Tonal Change

System identifiervamp:qm-vamp-plugins:qm-tonalchange
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-tonalchange @@ -266,10 +384,92 @@

Method: C. A. Harte, M. Gasser, and M. Sandler. Detecting harmonic change in musical audio. In Proceedings of the 1st ACM workshop on Audio and Music Computing Multimedia, Santa Barbara, 2006.

-

The Tonal Change Vamp plugin was wrtitten by Chris Harte and Martin +

The Tonal Change Vamp plugin was written by Chris Harte and Martin Gasser.

-

5. Segmenter

+ + +

6. Adaptive Spectrogram

+ +

System identifiervamp:qm-vamp-plugins:qm-adaptivespectrogram +
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-adaptivespectrogram +
LinksBack to top of library documentationDownload location +

+ +

Adaptive Spectrogram produces a composite spectrogram from a set of +series of short-time Fourier transforms at differing resolutions. +Values are selected from these spectrograms by repeated subdivision by +time and frequency in order to maximise an entropy function across +each column.

+ +

Parameters

+ +

Number of resolutions – The number of distinct +resolutions to calculate and use. The resolutions will be consecutive +powers of two starting from the smallest resolution specified.

+ +

Smallest resolution – The smallest of the set of +resolutions to use.

+ +

Omit alternate resolutions – Causes the plugin to +ignore alternate resolutions (i.e. the smallest resolution multiplied +by 2, 8, 32, etc) when composing a spectrogram. The smallest +resolution specified, and its multiples by 4, 16, etc as applicable, +will be retained. The total number of resolutions actually included +in the resulting spectrogram will therefore be N/2 (for even N) or +(N+1)/2 (for odd N) where N is the value of the "number of +resolutions" parameter. This permits a wider range of resolutions to +be included with less processing, at obvious cost in quality.

+ +

Multi-threaded processing – Enables multi-threading of +the spectrogram calculation. This usually results in somewhat faster +processing where multiple CPU cores are available.

+ +

As an example of the resolution parameters, if the "number of +resolutions" is set to 5, "smallest resolution" to 128, and "omit +alternate resolutions" is not used, the composite spectrogram will be +calculated using spectrograms from 128, 256, 512, 1024, and 2048 point +short-time Fourier transforms (with 50% overlap in each case). With +"omit alternate resolutions" set, the same parameters would result in +spectrograms from 128, 512, and 2048 point STFTs being used.

+ +

References and Credits

+ +

Method: X. Wen and M. Sandler. Composite spectrogram using multiple Fourier transforms. IET Signal Processing, 3(1):51-63, 2009. +

+ +

The Adaptive Spectrogram Vamp plugin was written by Wen Xue and Chris Cannam.

+ +

7. Polyphonic Transcription

+ +

System identifiervamp:qm-vamp-plugins:qm-transcription +
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-transcription +
LinksBack to top of library documentationDownload location + +

The Polyphonic Transcription plugin estimates a note transcription +using MIDI pitch values from its input audio, returning a feature for +each note (with timestamp and duration) whose value is the MIDI pitch +number. Velocity is not estimated.

+ +

Although the published description of the method is described as +real-time, the implementation used in this plugin is non-causal; it +buffers its input to operate on in a single unit, doing all the real +work after its entire input has been received, and is very memory +intensive. However, it is relatively fast (faster than real-time) +compared to other polyphonic transcription methods.

+ +

The plugin works best at 44.1KHz input sample rate, and is tuned for +piano and guitar music.

+ + +

References and Credits

+ +

Method: R. Zhou and J. D. Reiss. A Real-Time Polyphonic Music Transcription System. In Proceedings of the Fourth Music Information Retrieval Evaluation eXchange (MIREX), Philadelphia, USA, 2008;
R. Zhou and J. D. Reiss. A Real-Time Frame-Based Multiple Pitch Estimation Method Using the Resonator Time Frequency Image. Third Music Information Retrieval Evaluation eXchange (MIREX), Vienna, Austria, 2007.

+ +

The Polyphonic Transcription Vamp plugin was written by Ruohua Zhou.

+ + +

8. Segmenter

System identifiervamp:qm-vamp-plugins:qm-segmenter
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-segmenter @@ -368,7 +568,7 @@

The Segmenter Vamp plugin was written by Mark Levy. Thanks to George Fazekas for providing much of this documentation.

-

6. Similarity

+

9. Similarity

System identifiervamp:qm-vamp-plugins:qm-similarity
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-similarity @@ -453,7 +653,46 @@

The Similarity Vamp plugin was written by Mark Levy, Kurt Jacobson and Chris Cannam.

-

7. Constant-Q Spectrogram

+ + +

10. Discrete Wavelet Transform

+ +

System identifiervamp:qm-vamp-plugins:qm-dwt +
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-dwt +
LinksBack to top of library documentationDownload location + +

Discrete Wavelet Transform plugin performs the forward DWT on the +signal. The wavelet coefficients are derived from a fast segmented DWT +algorithm without block end effects. The DWT can be performed with +various functions from a selection of wavelets up to the 16th scale.

+ +

The wavelet coefficients are returned as feature columns at a rate of +half the sample rate of the signal to be analysed. To simulate +multiresolution in the layer data table, the coefficient values at +higher scales are copied multiple times according to the number of the +scale. For example, for scale 2 each value will appear twice, at scale +3 they will be appear four times, at scale 4 there will be 8 times the +same coefficient value in order to simulate the lower resolution at +higher scales.

+ +

Parameters

+ +

Scales – Adjusts the number of scales of the DWT. The +processing block size needs to be set to at least 2n, where n = +number of scales.

+ +

Wavelet – Selects the wavelet function to be used for +the transform. Wavelets from the following families are available: +Daubechies, Symlets, Coiflets, Biorthogonal, Meyer.

+ +

References and Credits

+ +

Principles: S. Mallat. A theory for multiresolution signal decomposition: the wavelet representation. In IEEE Transactions on Pattern Analysis and Machine Intelligence, 11 (1989), pp. 674-693;
+P. Rajmic and J. Vlach. Real-Time Audio Processing via Segmented Wavelet Transform. In Proceedings of the 10th Int. Conference on Digital Audio Effects (DAFx-07), Bordeaux, France, September 10-15, 2007.

+ +

The Discrete Wavelet Transform plugin was written by Thomas Wilmering.

+ +

11. Constant-Q Spectrogram

System identifiervamp:qm-vamp-plugins:qm-constantq
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-constantq @@ -503,7 +742,7 @@

The Constant-Q Spectrogram Vamp plugin was written by Christian Landone.

-

8. Chromagram

+

12. Chromagram

System identifiervamp:qm-vamp-plugins:qm-chromagram
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-chromagram @@ -553,7 +792,7 @@

The Chromagram Vamp plugin was written by Christian Landone.

-

9. Mel-Frequency Cepstral Coefficients

+

13. Mel-Frequency Cepstral Coefficients

System identifiervamp:qm-vamp-plugins:qm-mfcc
RDF URIhttp://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#qm-mfcc