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