annotate README @ 163:f21e612f26e8

Add note on Vamp plugin to README
author Chris Cannam <c.cannam@qmul.ac.uk>
date Fri, 08 Aug 2014 11:03:41 +0100
parents 1e33f719dde1
children 8e64d3da52f5
rev   line source
c@126 1
c@126 2 Constant-Q Library
c@126 3 ==================
c@126 4
c@130 5 A C++ library and Vamp plugin implementing the Constant-Q transform
c@130 6 of a time-domain signal.
c@126 7
c@126 8 https://code.soundsoftware.ac.uk/projects/constant-q-cpp
c@126 9
c@126 10 The Constant-Q transform is a time-to-frequency-domain transform
c@126 11 related to the short-time Fourier transform, but with output bins
c@126 12 spaced logarithmically in frequency, rather than linearly. The output
c@126 13 bins are therefore linearly spaced in terms of musical pitch.
c@126 14
c@126 15 This library provides:
c@126 16
c@126 17 * Forward transform: time-domain to complex Constant-Q bins
c@126 18 * Forward spectrogram: time-domain to interpolated Constant-Q
c@126 19 magnitude spectrogram
c@126 20 * Inverse transform: complex Constant-Q bins to time domain
c@126 21
c@163 22 The Vamp plugin provides:
c@163 23
c@163 24 * Constant-Q magnitude spectrogram with high and low frequency
c@163 25 extents defined in Hz
c@163 26 * Constant-Q magnitude spectrogram with high and low frequency
c@163 27 extents defined as MIDI pitch values
c@163 28 * Pitch chromagram obtained by folding a Constant-Q spectrogram
c@163 29 around into a single-octave range
c@163 30
c@126 31 The method is drawn from Christian Schörkhuber and Anssi Klapuri,
c@126 32 "Constant-Q transform toolbox for music processing", SMC 2010. See the
c@126 33 file CITATION for details. If you use this code in research work,
c@126 34 please cite this paper.
c@126 35
c@126 36 The implementation is reasonably fast and is causal, operating
c@126 37 block-by-block on the input, though with quite high latency
c@126 38 depending on the frequency range specified. By default it produces
c@126 39 output at a higher time resolution than some other implementations,
c@126 40 using multiple kernel atoms per time block. The inverse transform is
c@126 41 approximate rather than exact (see the paper for details).
c@126 42
c@126 43 The C++ implementation is by Chris Cannam, Copyright 2014 Queen Mary,
c@126 44 University of London.
c@126 45
c@126 46 The library is provided under a liberal BSD/MIT-style open source
c@126 47 licence. See the file COPYING for more information.
c@126 48