diff plugin-doc/qm-vamp-plugins.html @ 16:16f8de0dc974 website

* Add doc for QM plugins
author cannam
date Fri, 21 Nov 2008 11:41:45 +0000
parents
children 90a1fa18d239
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugin-doc/qm-vamp-plugins.html	Fri Nov 21 11:41:45 2008 +0000
@@ -0,0 +1,603 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+  <head>
+    <link rel="stylesheet" media="screen" type="text/css" href="/screen.css"/>
+    <link rel="icon" type="image/png" href="/images/waveform.png"/>
+    <link rel="shortcut" type="image/png" href="/images/waveform.png"/>
+    <title>QM Vamp Plugins: User Documentation</title>
+    <meta name="robots" content="index"/>
+  </head>
+  <body>
+<h1 id="header"><span>Vamp Plugins</span></h1>
+
+<h2>QM Vamp Plugins</h2>
+
+<p>The QM Vamp Plugin set is a library of Vamp audio feature
+extraction plugins developed at the <a
+href="http://www.elec.qmul.ac.uk/digitalmusic/">Centre for Digital
+Music</a> at Queen Mary, University of London.  These plugins are
+provided as a single library file, made available in binary form for
+Windows, OS/X, and Linux from the Centre for Digital Music's <a
+href="http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins">download
+page</a>.
+</p>
+<p>For more information about Vamp plugins, see <a href="http://www.vamp-plugins.org/">http://www.vamp-plugins.org/</a> .
+</p>
+
+<div class="toc2">1. &nbsp;<a href="#qm-onsetdetector">Note Onset Detector</a></div>
+<div class="toc2">2. &nbsp;<a href="#qm-tempotracker">Tempo and Beat Tracker</a></div>
+<div class="toc2">3. &nbsp;<a href="#qm-keydetector">Key Detector</a></div>
+<div class="toc2">4. &nbsp;<a href="#qm-tonalchange">Tonal Change</a></div>
+<div class="toc2">5. &nbsp;<a href="#qm-segmenter">Segmenter</a></div>
+<div class="toc2">6. &nbsp;<a href="#qm-similarity">Similarity</a></div>
+<div class="toc2">7. &nbsp;<a href="#qm-constantq">Constant-Q Spectrogram</a></div>
+<div class="toc2">8. &nbsp;<a href="#qm-chromagram">Chromagram</a></div>
+<div class="toc2">9. &nbsp;<a href="#qm-mfcc">Mel-Frequency Cepstral Coefficients</a></div>
+
+<a name="qm-onsetdetector"></a><a name="qm-"></a><h2>1. Note Onset Detector</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-onsetdetector</code>
+<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>
+<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>
+</p>
+<p>Note Onset Detector analyses a single channel of audio and estimates
+ the onset times of notes within the music &ndash; that is, the times at
+ which notes and other audible events begin.
+</p>
+<p>It calculates an onset likelihood function for each spectral frame,
+ and picks peaks in a smoothed version of this function.  The plugin is
+ non-causal, returning all results at the end of processing.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Onset Detection Function Type</b> &ndash; The method 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
+ Deviation" for non-percussive music, and "Broadband Energy Rise" (see
+ reference, Barry et al 2005) for identifying percussive onsets in
+ mixed music.
+</p>
+<p><b>Onset Detector Sensitivity</b> &ndash; Sensitivity level for peak detection
+ in the onset likelihood function.  The higher the sensitivity, the
+ more onsets will (rightly or wrongly) be detected.  The peak picker
+ does not have a simple threshold level; instead, this parameter
+ controls the required "steepness" of the slopes in the smoothed
+ detection function either side of a peak value, in order for that peak
+ to be accepted as an onset.
+</p>
+<p><b>Adaptive Whitening</b> &ndash; This option evens out the temporal and
+ frequency variation in the signal, which can yield improved
+ performance in onset detection, for example in audio with big
+ variations in dynamics.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Note Onsets</b> &ndash; The detected note onset times, returned as a single
+ feature with timestamp but no value for each detected note.
+</p>
+<p><b>Onset Detection Function</b> &ndash; The raw note onset likelihood function
+ that was calculated as the first step of the detection process.
+</p>
+<p><b>Smoothed Detection Function</b> &ndash; The note onset likelihood function
+ following median filtering.  This is the function from which
+ sufficiently steep peak values are picked and classified as onsets.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Basic detection methods</b>: C. Duxbury, J. P. Bello, M. Davies and
+ M. Sandler, <i><a href="http://www.elec.qmul.ac.uk/dafx03/proceedings/pdfs/dafx81.pdf">Complex domain Onset Detection for Musical Signals</a></i>. In
+ Proceedings of the 6th Conference on Digital Audio Effects
+ (DAFx-03). London, UK. September 2003.
+</p>
+<p><b>Adaptive whitening</b>: D. Stowell and M. D. Plumbley, <i><a href="http://www.elec.qmul.ac.uk/digitalmusic/papers/2007/StowellPlumbley07-icmc.pdf">Adaptive whitening for improved real-time audio onset detection</a></i>. In
+ Proceedings of the International Computer Music Conference (ICMC'07),
+ August 2007.
+</p>
+<p><b>Percussion onset detector</b>: D. Barry, D. Fitzgerald, E. Coyle and
+ 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.
+</p>
+<p>The Note Onset Detector Vamp plugin was written by Chris Duxbury, Juan
+ Pablo Bello and Christian Landone.
+</p>
+<a name="qm-tempotracker"></a><h2>2. Tempo and Beat Tracker</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-tempotracker</code>
+<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>
+<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>
+</p>
+<p>Tempo and Beat Tracker analyses a single channel of audio and
+ estimates the positions of metrical beats within the music (the
+ equivalent of a human listener tapping their foot to the beat).
+</p>
+<h3>Parameters</h3>
+
+<p><b>Onset Detection Function Type</b> &ndash; The method 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
+ Deviation" for non-percussive music, and "Broadband Energy Rise" (see
+ reference, Barry et al 2005) for identifying percussive onsets in
+ mixed music.
+</p>
+<p><b>Adaptive Whitening</b> &ndash; This option evens out the temporal and
+ frequency variation in the signal, which can yield improved
+ performance in onset detection, for example in audio with big
+ variations in dynamics.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Beats</b> &ndash; The estimated beat locations, returned as a single feature,
+ with timestamp but no value, for each beat, labelled with the
+ corresponding estimated tempo at that beat.
+</p>
+<p><b>Onset Detection Function</b> &ndash; The raw note onset likelihood function
+ used in beat estimation.
+</p>
+<p><b>Tempo</b> &ndash; The estimated tempo, returned as a feature each time the
+ estimated tempo changes, with a single value for the tempo in beats
+ per minute.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Beat tracking method</b>: M. E. P. Davies and M. D. Plumbley.
+ <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
+ Transactions on Audio, Speech and Language Processing. Vol. 15, No. 3,
+ pp1009-1020, 2007.  See also M. E. P. Davies and M. D. Plumbley.
+ <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
+ International Conference on Acoustics, Speech and Signal Processing
+ (ICASSP 2005), Vol. 3, pp241-244 Philadelphia, USA, March 19-23, 2005.
+</p>
+<p><b>Onset detection methods</b>: C. Duxbury, J. P. Bello, M. Davies and
+ M. Sandler, <i><a href="http://www.elec.qmul.ac.uk/dafx03/proceedings/pdfs/dafx81.pdf">Complex domain Onset Detection for Musical Signals</a></i>. In
+ Proceedings of the 6th Conference on Digital Audio Effects
+ (DAFx-03). London, UK. September 2003.
+</p>
+<p><b>Adaptive whitening</b>: D. Stowell and M. D. Plumbley, <i><a href="http://www.elec.qmul.ac.uk/digitalmusic/papers/2007/StowellPlumbley07-icmc.pdf">Adaptive whitening for improved real-time audio onset detection</a></i>. In
+ Proceedings of the International Computer Music Conference (ICMC'07),
+ August 2007.
+</p>
+<p><b>Percussion onset detector</b>: D. Barry, D. Fitzgerald, E. Coyle and
+ 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.
+</p>
+<p>The Tempo and Beat Tracker Vamp plugin was written by Matthew Davies
+ and Christian Landone.
+</p>
+<a name="qm-keydetector"></a><h2>3. Key Detector</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-keydetector</code>
+<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>
+<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>
+</p>
+<p>Key Detector analyses a single channel of audio and continuously
+ estimates the key of the music by comparing the degree to which a
+ block-by-block chromagram correlates to the stored key profiles for
+ each major and minor key.
+</p>
+<p>The key profiles are drawn from analysis of Book I of the Well
+ Tempered Klavier by J S Bach, recorded at A=440 equal temperament.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Tuning Frequency</b> &ndash; The frequency of concert A in the music under
+ analysis.
+</p>
+<p><b>Window Length</b> &ndash; The number of chroma analysis frames taken into
+ account for key estimation.  This controls how eager the key detector
+ will be to return short-duration tonal changes as new key changes (the
+ shorter the window, the more likely it is to detect a new key change).
+</p>
+<h3>Outputs</h3>
+
+<p><b>Tonic Pitch</b> &ndash; The tonic pitch of each estimated key change,
+ returned as a single-valued feature at the point where the key change
+ is detected, with value counted from 1 to 12 where C is 1, C# or Db is
+ 2, and so on up to B which is 12.
+</p>
+<p><b>Key Mode</b> &ndash; The major or minor mode of the estimated key, where
+ major is 0 and minor is 1.
+</p>
+<p><b>Key</b> &ndash; The estimated key for each key change, returned as a
+ single-valued feature at the point where the key change is detected,
+ with value counted from 1 to 24 where 1-12 are the major keys and
+ 13-24 are the minor keys, such that C major is 1, C# major is 2, and
+ so on up to B major which is 12; then C minor is 13, Db minor is 14,
+ and so on up to B minor which is 24.
+</p>
+<p><b>Key Strength Plot</b> &ndash; A grid representing the ongoing key
+ "probability" throughout the music.  This is returned as a feature for
+ each chroma frame, containing 25 bins.  Bins 1-12 are the major keys
+ from C upwards; bins 14-25 are the minor keys from C upwards.  The
+ 13th bin is unused: it just provides space between the first and
+ second halves of the feature if displayed in a single plot.
+</p>
+<p>The outputs are also labelled with pitch or key as text.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Method</b>: see K. Noland and M. Sandler. <i><a href="http://www.aes.org/e-lib/browse.cfm?elib=14140">Signal Processing Parameters for Tonality Estimation</a></i>. In Proceedings of Audio Engineering Society
+ 122nd Convention, Vienna, 2007.
+</p>
+<p>The Key Detector Vamp plugin was written by Katy Noland and Christian
+ Landone.
+</p>
+<a name="qm-tonalchange"></a><h2>4. Tonal Change</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-tonalchange</code>
+<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>
+<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>
+</p>
+<p>Tonal Change analyses a single channel of audio, detecting harmonic
+ changes such as chord boundaries.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Gaussian smoothing</b> &ndash; The window length for the internal smoothing
+ operation, in chroma analysis frames.  This controls how eager the
+ tonal change detector will be to identify very short-term tonal
+ changes.  The default value of 5 is quite short, and may lead to more
+ (not always meaningful) results being returned; for many purposes a
+ larger value, closer to the maximum of 20, may be appropriate.
+</p>
+<p><b>Chromagram minimum pitch</b> &ndash; The MIDI pitch value (0-127) of the
+ minimum pitch included in the internal chromagram analyis.
+</p>
+<p><b>Chromagram maximum pitch</b> &ndash; The MIDI pitch value (0-127) of the
+ maximum pitch included in the internal chromagram analyis.
+</p>
+<p><b>Chromagram tuning frequency</b> &ndash; The frequency of concert A in the
+ music under analysis.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Transform to 6D Tonal Content Space</b> &ndash; A representation of the
+ musical content in a six-dimensional tonal space onto which the
+ algorithm maps 12-bin chroma vectors extracted from the audio.
+</p>
+<p><b>Tonal Change Detection Function</b> &ndash; A function representing the
+ estimated likelihood of a tonal change occurring in each spectral
+ frame.
+</p>
+<p><b>Tonal Change Positions</b> &ndash; The resulting estimated positions of tonal
+ changes.
+</p>
+<h3>References and Credits</h3>
+
+<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
+ Audio and Music Computing Multimedia, Santa Barbara, 2006.
+</p>
+<p>The Tonal Change Vamp plugin was wrtitten by Chris Harte and Martin
+ Gasser.
+</p>
+<a name="qm-segmenter"></a><h2>5. Segmenter</h2>
+
+<p><b>System identifier</b> &ndash; <code>vamp:qm-vamp-plugins:qm-segmenter</code>
+<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>
+<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>
+</p>
+<p>Segmenter divides a single channel of music up into structurally
+ consistent segments.  It returns a numeric value (the segment type)
+ for each moment at which a new segment starts.
+</p>
+<p>For music with clearly tonally distinguishable sections such as verse,
+ chorus, etc., segments with the same type may be expected to be
+ similar to one another in some structural sense.  For example,
+ repetitions of the chorus are likely to share a segment type.
+</p>
+<p>The plugin only attempts to identify similar segments; it does not
+ attempt to label them.  For example, it makes no attempt to tell you
+ which segment is the chorus.
+</p>
+<p>Note that this plugin does a substantial amount of processing after
+ receiving all of the input audio data, before it produces any results.
+</p>
+<h3>Method</h3>
+
+<p>The method relies upon structural/timbral similarity to obtain the
+ high-level song structure.  This is based on the assumption that the
+ distributions of timbre features are similar over corresponding
+ structural elements of the music.
+</p>
+<p>The algorithm works by obtaining a frequency-domain representation of
+ the audio signal using a Constant-Q transform, a Chromagram or
+ Mel-Frequency Cepstral Coefficients (MFCC) as underlying features (the
+ particular feature is selectable as a parameter).  The extracted
+ features are normalised in accordance with the MPEG-7 standard (NASE
+ descriptor), which means the spectrum is converted to decibel scale
+ and each spectral vector is normalised by the RMS energy envelope.
+ The value of this envelope is stored for each processing block of
+ audio. This is followed by the extraction of 20 principal components
+ per block using PCA, yielding a sequence of 21 dimensional feature
+ vectors where the last element in each vector corresponds to the
+ energy envelope.
+</p>
+<p>A 40-state Hidden Markov Model is then trained on the whole sequence
+ of features, with each state of the HMM corresponding to a specific
+ timbre type. This process partitions the timbre-space of a given track
+ into 40 possible types. The important assumption of the model is that
+ the distribution of these features remain consistent over a structural
+ segment. After training and decoding the HMM, the song is assigned a
+ sequence of timbre-features according to specific timbre-type
+ distributions for each possible structural segment.
+</p>
+<p>The segmentation itself is computed by clustering timbre-type
+ histograms. A series of histograms are created over a sliding window
+ which are grouped into M clusters by an adapted soft k-means
+ algorithm. Each of these clusters will correspond to a specific
+ segment-type of the analyzed song. Reference histograms, iteratively
+ updated during clustering, describe the timbre distribution for each
+ segment. The segmentation arises from the final cluster assignments.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Number of segment-types</b> &ndash; The maximum number of clusters
+ (segment-types) to be returned.  The default is 10. Unlike many
+ clustering algorithms, the constrained clustering used in this plugin
+ does not produce too many clusters or vary significantly even if this
+ is set too high. However, this parameter can be useful for limiting
+ the number of expected segment-types.
+</p>
+<p><b>Feature Type</b> &ndash; The type of spectral feature used for segmentation.  The available features are:<ul><li>"Hybrid", the default, which uses a Constant-Q transform (see <a href="#qm-constantq">related
+ plugin</a>): this is generally effective for modern studio recordings;</li><li> "Chromatic", using a chromagram derived from the Constant-Q feature (see <a href="#qm-chromagram">related plugin</a>): this may be preferable for live, acoustic, or older recordings, in which repeated sections may be less consistent in
+ sound;</li><li>"Timbral", using Mel-Frequency
+ Cepstral Coefficients (see <a href="#qm-mfcc">related plugin</a>), which is more likely to
+ result in classification by instrumentation rather than musical
+ content.</li></ul>
+</p>
+<p><b>Minimum segment duration</b> &ndash; The approximate expected minimum
+ duration for a segment, from 1 to 15 seconds.  Changing this parameter
+ may help the plugin to find musical sections rather than just
+ following changes in the sound of the music, and also avoid wasting a
+ segment-type cluster for timbrally distinct but too-short segments.
+ The default of 4 seconds usually produces good results.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Segmentation</b> &ndash; The estimated segment boundaries, returned as a
+ single feature with one value at each segment boundary, with the value
+ representing the segment type number for the segment starting at that
+ boundary.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Method</b>: M. Levy and M. Sandler. <i><a href="http://ieeexplore.ieee.org/iel5/10376/4432632/04432648.pdf?arnumber=4432648">Structural segmentation of musical audio by constrained clustering</a></i>. IEEE Transactions on Audio, Speech, and Language Processing, February 2008.
+</p>
+<p>Note that this plugin does not implement the beat-sychronous aspect
+ of the segmentation method described in the paper.
+</p>
+<p>The Segmenter Vamp plugin was written by Mark Levy.  Thanks to George
+ Fazekas for providing much of this documentation.
+</p>
+<a name="qm-similarity"></a><h2>6. Similarity</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-similarity</code>
+<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>
+<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>
+</p>
+<p>Similarity treats each channel of its audio input as a separate
+ "track", and estimates how similar the tracks are to one another using
+ a selectable similarity measure.
+</p>
+<p>The plugin also returns the intermediate data used as a basis of the
+ similarity measure; it can therefore be used on a single channel of
+ input (with the resulting intermediate data then being applied in some
+ other similarity or clustering algorithm, for example) if desired, as
+ well as with multiple inputs.
+</p>
+<p>Because of the way this plugin handles multiple inputs, by assuming
+ that each channel represents a separate piece of music, it may not be
+ appropriate for use directly in a general-purpose host (unless you
+ actually want to do something like compare two stereo channels for
+ timbral similarity, which is unlikely).
+</p>
+<h3>Parameters</h3>
+
+<p><b>Feature Type</b> &ndash; The underlying audio feature used for the similarity
+ measure.  The available features are:
+<ul><li>"Timbre", in which the distance
+ between tracks is a symmetrised Kullback-Leibler divergence between
+ Gaussian-modelled MFCC means and variances across each track, for the
+ first 20 MFCCs including C0 (see <a href="#qm-mfcc">related plugin</a>);</li><li>"Chroma", which uses Kullback-Leibler divergence of
+ mean chroma histogram (see <a href="#qm-chromagram">related plugin</a>);</li><li>"Rhythm", using the cosine distance between
+ "beat spectrum" measures derived from a short sampled section of the
+ track;</li><li>and combined "Timbre and Rhythm" and "Chroma and Rhythm"
+ features.</li></ul>
+</p>
+<h3>Outputs</h3>
+
+<p><b>Distance Matrix</b> &ndash; A matrix of the distance measures between input
+ channels, returned as a series of vector features timestamped at
+ one-second intervals.  The distance from channel i to channel j
+ appears as the j'th bin of the feature at time i.
+</p>
+<p><b>Distance from First Channel</b> &ndash; A single vector feature, timestamped
+ at time zero, containing the distances between the first input channel
+ and each of the input channels (including the first channel itself at
+ bin 0, which should have zero distance).
+</p>
+<p><b>Ordered Distances from First Channel</b> &ndash; A pair of vector features,
+ at times 0 and 1 second.  The feature at time 0 contains the 1-based
+ indices of the input channels in the order of similarity to the first
+ input channel (so its first bin should always contain 1, as the first
+ channel is most similar to itself).  The feature at time 1 contains,
+ in bin n, the distance between the first input channel and the channel
+ with index found at bin n of the feature at time 0.
+</p>
+<p><b>Feature Means</b> &ndash; A series of vector features containing the mean
+ values of each of the feature bins across the duration of each of the
+ input channels.  This output returns one feature for each input
+ channel, timestamped at one-second intervals.  The number of bins for
+ each feature depends on the feature type; it will be 20 for MFCC
+ features and 12 for chroma features.  No features will be returned on
+ this output if the feature type is purely rhythmic.
+</p>
+<p><b>Feature Variances</b> &ndash; Just as Feature Means, but variances.
+</p>
+<p><b>Beat Spectra</b> &ndash; A series of vector features containing the rhythmic
+ autocorrelation profiles (beat spectra) for each of the input
+ channels.  This output returns one 512-bin feature for each input
+ channel, timestamped at one-second intervals.  No features will be
+ returned on this output if the feature type contains no rhythm
+ component.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Timbral similarity</b>: M. Levy and M. Sandler. <i><a href="http://www.elec.qmul.ac.uk/easaier/papers/mlevytimbralsimilarity.pdf">Lightweight measures for timbral similarity of musical audio</a></i>. In Proceedings of the 1st
+ ACM workshop on Audio and Music Computing Multimedia, Santa Barbara,
+ 2006.
+</p>
+<p><b>Combined rhythmic and timbral similarity</b>: K. Jacobson. <i><a href="http://ismir2006.ismir.net/PAPERS/ISMIR0696_Paper.pdf">A Multifaceted Approach to Music Similarity</a></i>. In Proceedings of the
+ Seventh International Conference on Music Information Retrieval
+ (ISMIR), 2006.
+</p>
+<p>The Similarity Vamp plugin was written by Mark Levy, Kurt Jacobson and
+ Chris Cannam.
+</p>
+<a name="qm-constantq"></a><h2>7. Constant-Q Spectrogram</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-constantq</code>
+<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>
+<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>
+</p>
+<p>Constant-Q Spectrogram calculates a spectrogram based on a short-time
+ windowed constant Q spectral transform.  This is a spectrogram in
+ which the ratio of centre frequency to resolution is constant for each
+ frequency bin.  The frequency bins correspond to the frequencies of
+ "musical notes" rather than being linearly spaced in frequency as they
+ are for the conventional DFT spectrogram.
+</p>
+<p>The pitch range and the number of frequency bins per octave may be
+ adjusted using the plugin's parameters.  Note that the plugin's
+ preferred step and block sizes are defined by these parameters, and
+ the plugin will not accept any other block size than its preferred
+ value.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Minimum Pitch</b> &ndash; The MIDI pitch value (0-127) corresponding to the lowest
+ frequency to be included in the constant-Q transform.
+</p>
+<p><b>Maximum Pitch</b> &ndash; The MIDI pitch value (0-127) corresponding to the
+ lowest frequency to be included in the constant-Q transform.
+</p>
+<p><b>Tuning Frequency</b> &ndash; The frequency of concert A in the
+ music under analysis.
+</p>
+<p><b>Bins per Octave</b> &ndash; The number of constant-Q transform bins to be
+ computed per octave.
+</p>
+<p><b>Normalized</b> &ndash; Whether to normalize each output column to unit
+ maximum.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Constant-Q Spectrogram</b> &ndash; The calculated spectrogram, as a single
+ feature per process block containing one bin for each pitch included
+ in the spectrogram's range.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>Principle</b>: J. Brown. <i><a href="http://www.wellesley.edu/Physics/brown/pubs/cq1stPaper.pdf">Calculation of a constant Q spectral transform</a></i>. Journal of the Acoustical Society of America, 89(1):
+ 425-434, 1991.
+</p>
+<p>The Constant-Q Spectrogram Vamp plugin was written by Christian
+ Landone.
+</p>
+<a name="qm-chromagram"></a><h2>8. Chromagram</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-chromagram</code>
+<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>
+<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>
+</p>
+<p>Chromagram calculates a constant Q spectral transform (as in the
+ Constant Q Spectrogram plugin) and then wraps the frequency bin values
+ into a single octave, with each bin containing the sum of the
+ magnitudes from the corresponding bin in all octaves.  The number of
+ values in each feature vector returned by the plugin is therefore the
+ same as the number of bins per octave configured for the underlying
+ constant Q transform.
+</p>
+<p>The pitch range and the number of frequency bins per octave for the
+ transform may be adjusted using the plugin's parameters.  Note that
+ the plugin's preferred step and block sizes depend on these
+ parameters, and the plugin will not accept any other block size than
+ its preferred value.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Minimum Pitch</b> &ndash; The MIDI pitch value (0-127) corresponding to the
+ lowest frequency to be included in the constant-Q transform used in
+ calculating the chromagram.
+</p>
+<p><b>Maximum Pitch</b> &ndash; The MIDI pitch value (0-127) corresponding to the
+ lowest frequency to be included in the constant-Q transform used in
+ calculating the chromagram.
+</p>
+<p><b>Tuning Frequency</b> &ndash; The frequency of concert A in the
+ music under analysis.
+</p>
+<p><b>Bins per Octave</b> &ndash; The number of constant-Q transform bins to be
+ computed per octave, and thus the total number of bins present in the
+ resulting chromagram.
+</p>
+<p><b>Normalized</b> &ndash; Whether to normalize each output column. Normalization
+ may be to unit sum or unit maximum.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Chromagram</b> &ndash; The calculated chromagram, as a single feature per
+ process block containing the number of bins given in the bins per
+ octave parameter.
+</p>
+<h3>References and Credits</h3>
+
+<p>The Chromagram Vamp plugin was written by Christian Landone.
+</p>
+<a name="qm-mfcc"></a><h2>9. Mel-Frequency Cepstral Coefficients</h2>
+
+<p><b>System identifier</b> &ndash;    <code>vamp:qm-vamp-plugins:qm-mfcc</code>
+<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>
+<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>
+</p>
+<p>Mel-Frequency Cepstral Coefficients calculates MFCCs from a single
+ channel of audio.  These coefficients, derived from a cosine transform
+ of the mapping of an audio spectrum onto a frequency scale modelled on
+ human auditory response, are widely used in speech recognition, music
+ classification and other tasks.
+</p>
+<h3>Parameters</h3>
+
+<p><b>Number of Coefficients</b> &ndash; The number of MFCCs to return.  Commonly
+ used values include 13 or the default 20.  This number includes C0 if
+ requested (see Include C0 below).
+</p>
+<p><b>Power for Mel Amplitude Logs</b> &ndash; An optional power value to which the
+ spectral amplitudes should be raised before applying the cosine
+ transform.  Values greater than 1 may in principle reduce the
+ contribution of noise to the results.  The default is 1.
+</p>
+<p><b>Include C0</b> &ndash; Whether to include the "zero'th" coefficient, which
+ simply reflects the overall signal power across the Mel frequency
+ bands.
+</p>
+<h3>Outputs</h3>
+
+<p><b>Coefficients</b> &ndash; The MFCC values, returned as one vector feature per
+ processing block.
+</p>
+<p><b>Means of Coefficients</b> &ndash; The overall means of the MFCC bins, as a
+ single vector feature with time 0 that is returned when processing is
+ complete.
+</p>
+<h3>References and Credits</h3>
+
+<p><b>MFCCs in music</b>: See B. Logan. <i><a href="http://ismir2000.ismir.net/papers/logan_paper.pdf">Mel-Frequency Cepstral Coefficients for Music Modeling</a></i>. In Proceedings of the First International
+ Symposium on Music Information Retrieval (ISMIR), 2000.
+</p>
+<p>The Mel-Frequency Cepstral Coefficients Vamp plugin was written by
+ Nicolas Chetry and Chris Cannam.
+</p>
+<p></p>
+</CONTENTS>
+</body>
+</html>