changeset 258:f7b34848afd2

...
author cannam
date Fri, 14 Nov 2008 12:30:23 +0000
parents f80e34e36a79
children 7d678f889789
files examples/vamp-example-plugins.txt
diffstat 1 files changed, 0 insertions(+), 314 deletions(-) [+]
line wrap: on
line diff
--- a/examples/vamp-example-plugins.txt	Fri Nov 14 12:22:41 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,314 +0,0 @@
-
-Vamp Example Plugins
-====================
-
-The [vamp-example-plugins] library contains a number of Vamp audio
-analysis plugins provided as part of the Vamp plugin SDK.
-
-These are simple, but sometimes useful, plugins whose source code you
-are free to study and reuse in any proprietary or non-proprietary
-plugins of your own without any licensing obligation.
-
-User documentation for the individual plugins in this library follows.
-
-Amplitude Follower
-==================
-
-*System identifier* -- [vamp-example-plugins:amplitudefollower] //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#amplitudefollower
-
-Amplitude Follower tracks and returns the amplitude of the audio
-signal sample by sample, returning peak values block by block.
-
-Parameters
-----------
-
-*Attack time* (seconds) -- The 60dB convergence time for an increase in amplitude. //
-*Release time* (seconds) -- The 60dB convergence time for a decrease in amplitude.
-
-For example, if you feed the plugin with a simple step function that
-jumps from level A to level B, then the output will start off as A,
-then at the moment of stepping it will start to converge exponentially
-to B, reaching with 60dB of the actual value within the time specified
-by the Attack time parameter.
-
-Similarly, if the plugin's input then steps down from B to A, the
-output will start converging at the moment of stepping, reaching
-within 60dB of the new value within the time specified by the Release
-time parameter.
-
-Outputs
--------
-Amplitude
-~~~~~~~~~
-The peak tracked amplitude (in volts) for the current processing block.
-
-References and Credits
-----------------------
-Amplitude Follower uses a method from the SuperCollider audio
-processing language.  It was implemented as a Vamp plugin by Dan
-Stowell.
-
-
-Simple Fixed Tempo Estimator
-============================
-
-*System identifier* -- vamp-example-plugins:fixedtempo //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#fixedtempo
-
-Simple Fixed Tempo Estimator analyses a fragment of audio and
-estimates its tempo.  It assumes that its input is of fixed tempo, and
-it analyses only the first (small but configurable number of) seconds
-before returning a result, discarding all subsequent input.
-
-The plugin calculates an overall energy rise function across a series
-of short frequency-domain input frames, takes the autocorrelation of
-this function, filters it to stress possible metrical patterns,
-locates peaks, and converts from autocorrelation lag to the
-corresponding tempo.
-
-The filtering process involves searching for peaks at simple
-metrically related intervals (at a given autocorrelation lag as well
-as at 0.5, 2, and 4 times that lag), boosting each peak that shows
-strong related peaks.  A simplistic perceptual curve is also applied
-in order to increase the probability of detecting a "likely" tempo.
-For improved tempo precision, each tempo with strong related peaks is
-averaged with the tempi calculated from those peaks.
-
-The method is best suited for 4/4 pop and dance rhythms.
-
-This plugin returns many of its intermediate calculations as
-additional outputs, as well as the most favoured tempo.  Although as a
-tempo estimator it's still fairly primitive, it is intended to provide
-a useful example of a slightly more complex feature extraction plugin
-than the other examples, as well as one that returns several different
-types of output at a time.
-
-Parameters
-----------
-
-*Minimum estimated tempo*, *Maximum estimated tempo* (bpm) -- These
-parameters control the range of values within which the tempo
-estimator will return its estimate.
-
-*Input duration to study* (seconds) -- The tempo estimator uses only the
-first part of its input, discarding any that follows.  This parameter
-controls how much input it will use.  There is no value in increasing
-this beyond 8x the duration of the slowest returned beat.  The default
-of 10 seconds is likely to be appropriate for most purposes.
-
-Outputs
--------
-
-Tempo
-~~~~~
-
-The tempo estimator's best guess at the tempo of its input, in beats
-per minute.
-
-This is returned as a feature whose timestamp and duration cover the
-range of the input which was used in estimating the tempo, with a
-single value containing the tempo.
-
-Tempo candidates
-~~~~~~~~~~~~~~~~
-
-Several guesses at the possible tempo.  This output is returned as a
-single feature whose timestamp and duration cover the range of the
-input which was used in estimating the tempo, with up to 10 bins
-containing one tempo value in each bin, with the "best guess" tempo in
-bin 0.
-
-Detection function
-~~~~~~~~~~~~~~~~~~
-
-The basic onset detection function used in tempo estimation.
-
-Autocorrelation function
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The autocorrelation of the onset detection function.
-
-Filtered Autocorrelation
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-The autocorrelation after filtering to boost values with possible
-metrically related peaks and to apply perceptual weighting.  The peak
-value of this function is the one that will be used as the "best
-guess".
-
-References and Credits
-----------------------
-Simple Fixed Tempo Estimator uses a method derived from work by
-Matthew Davies: see for example 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
-2005.  This plugin, made by Chris Cannam, is only an unsubtle
-simplification of a very small part of the published method.
-
-The Queen Mary plugin set
-(http://www.elec.qmul.ac.uk/digitalmusic/downloads/index.html#qm-vamp-plugins)
-contains a Tempo and Beat Tracker plugin by Matthew Davies providing a
-more realistic implementation.
-
-
-Simple Percussion Onset Detector
-================================
-
-*System identifier* -- vamp-example-plugins:percussiononsets //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#percussiononsets
-
-Simple Percussion Onset Detector estimates the locations of percussive
-onsets in the audio signal.
-
-The principle is to exploit the broadband nature of noisy percussive
-onsets by identifying only those frames in which the energy rise shows
-a broadband profile.
-
-The plugin takes a series of frequency domain frames, and examines
-each frame to count the number of bins whose energy content has
-increased by more than a certain threshold since the prior frame.
-Frames in which this number is at a peak relative to prior and
-following frames and also exceeds another threshold value are
-classified as percussive onsets.
-
-Parameters
-----------
-
-*Energy rise threshold* (dB) -- The rise in energy within a bin from one
-frame to the next that is required for a bin to be counted toward the
-detection function's bin count.  This roughly corresponds to how
-"loud" a percussive sound must be in order to be detected.
-
-*Sensitivity* (%) -- The proportion of bins that must exceed the energy
-rise threshold in order for an onset to be detected (at frames in
-which the detection function peaks).  This roughly corresponds to how
-"noisy" a percussive sound must be in order to be detected.
-
-Outputs
--------
-
-Onsets
-~~~~~~
-
-The estimated onset locations.
-
-Detection Function
-~~~~~~~~~~~~~~~~~~
-
-The energy rise detection function whose peaks were used to estimate
-onset locations.
-
-References and Credits
-----------------------
-The method used in Simple Percussion Onset Detector was described in
-"Drum Source Separation using Percussive Feature Detection and
-Spectral Modulation" by Dan Barry, Derry Fitzgerald, Eugene Coyle and
-Bob Lawlor, ISSC 2005.  The plugin was made by Chris Cannam.
-
-
-Simple Power Spectrum
-=====================
-
-*System identifier* -- vamp-example-plugins:powerspectrum //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#powerspectrum
-
-Simple Power Spectrum returns a power spectrum calculated from
-windowed short-time Fourier transforms of the input audio.  (The power
-spectrum for a frame consists of a sequence of the squares of the
-magnitudes of the complex values for each frequency bin in the result
-of the Fourier transform.)
-
-This very simple plugin is an illustration of the fact that if a
-plugin requests frequency-domain input, its input will already be in
-the form needed for a spectrum such as this.  The plugin has no work
-left to do except to calculate the squared magnitude from the
-cartesian complex representation.
-
-This plugin also illustrates how to return "grid-type" visualisation
-data from a Vamp plugin.
-
-Parameters
-----------
-
-None.
-
-Outputs
--------
-
-Power Spectrum
-~~~~~~~~~~~~~~
-
-The power spectrum calculated from the input frame.  This output
-returns a single feature per processing block, containing
-blocksize/2+1 power values corresponding to the FFT bins from DC to
-Nyquist inclusive.  The DC bin is always returned.
-
-
-Spectral Centroid
-=================
-
-*System identifier* -- vamp-example-plugins:spectralcentroid //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#spectralcentroid
-
-Spectral Centroid calculates the "centre of gravity" of the frequency
-spectrum for each input frame.
-
-Parameters
-----------
-
-None.
-
-Outputs
--------
-
-Log Frequency Centroid
-~~~~~~~~~~~~~~~~~~~~~~
-
-The centroid of the log-weighted frequency spectrum.  That is, the sum
-across Fourier transform output bins of the logarithm of the bin
-frequency multiplied by the bin magnitude, divided by the sum of the
-bin magnitudes, and the inverse logarithm taken so as to give the
-result as a frequency in Hz.
-
-Linear Frequency Centroid
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The centroid of the linear-weighted frequency spectrum.  That is, the
-sum across Fourier transform output bins of the bin frequency
-multiplied by the bin magnitude, divided by the sum of the bin
-magnitudes.  The result is a frequency in Hz.
-
-
-Zero Crossings
-==============
-
-*System identifier* -- vamp-example-plugins:zerocrossing //
-*RDF URI* -- http://vamp-plugins.org/rdf/plugins/vamp-example-plugins#zerocrossing
-
-Zero Crossings calculates the positions and density of "zero-crossing"
-points in an audio waveform.  For the purposes of this plugin, that
-means those positions at which the sampled value switches from
-zero-or-less to greater-than-zero, or vice versa.
-
-Parameters
-----------
-
-None.
-
-Outputs
--------
-
-Zero Crossing Counts
-~~~~~~~~~~~~~~~~~~~~
-
-The number of zero-crossing points found in the current block of
-samples, as a single-valued feature returned per processing block.
-
-Zero Crossings
-~~~~~~~~~~~~~~
-
-The locations of zero-crossing points, returning one feature
-timestamped to the zero-crossing location, without values, for each
-crossing point.
-