Mercurial > hg > constant-q-cpp
changeset 126:b87290781071
README file, some text tweaks, avoid compiler warning
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Fri, 16 May 2014 09:06:34 +0100 |
parents | b3f72e67e543 |
children | 8996465e39fc |
files | COPYING README src/dsp/MathUtilities.cpp |
diffstat | 3 files changed, 42 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/COPYING Thu May 15 15:24:56 2014 +0100 +++ b/COPYING Fri May 16 09:06:34 2014 +0100 @@ -1,5 +1,5 @@ -This library is provided to you under the following licence: +This library is distributed under the following licence: Copyright (c) 2013-2014 Queen Mary, University of London @@ -28,7 +28,7 @@ use or other dealings in this Software without prior written authorization. -The code in src/ext/kissfft is under the following licence: +The code in src/ext/kissfft is distributed under the following licence: Copyright (c) 2003-2010 Mark Borgerding
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Fri May 16 09:06:34 2014 +0100 @@ -0,0 +1,39 @@ + +Constant-Q Library +================== + +A C++ library and Vamp plugin implementing the Constant-Q transform of +a time-domain signal. + +https://code.soundsoftware.ac.uk/projects/constant-q-cpp + +The Constant-Q transform is a time-to-frequency-domain transform +related to the short-time Fourier transform, but with output bins +spaced logarithmically in frequency, rather than linearly. The output +bins are therefore linearly spaced in terms of musical pitch. + +This library provides: + + * Forward transform: time-domain to complex Constant-Q bins + * Forward spectrogram: time-domain to interpolated Constant-Q + magnitude spectrogram + * Inverse transform: complex Constant-Q bins to time domain + +The method is drawn from Christian Schörkhuber and Anssi Klapuri, +"Constant-Q transform toolbox for music processing", SMC 2010. See the +file CITATION for details. If you use this code in research work, +please cite this paper. + +The implementation is reasonably fast and is causal, operating +block-by-block on the input, though with quite high latency +depending on the frequency range specified. By default it produces +output at a higher time resolution than some other implementations, +using multiple kernel atoms per time block. The inverse transform is +approximate rather than exact (see the paper for details). + +The C++ implementation is by Chris Cannam, Copyright 2014 Queen Mary, +University of London. + +The library is provided under a liberal BSD/MIT-style open source +licence. See the file COPYING for more information. +
--- a/src/dsp/MathUtilities.cpp Thu May 15 15:24:56 2014 +0100 +++ b/src/dsp/MathUtilities.cpp Fri May 16 09:06:34 2014 +0100 @@ -105,7 +105,7 @@ if (len == 0) return 0; std::vector<double> scratch; - for (int i = 0; i < len; ++i) scratch.push_back(src[i]); + for (int i = 0; i < (int)len; ++i) scratch.push_back(src[i]); std::sort(scratch.begin(), scratch.end()); int middle = len/2;