Revision 193:390d3c69ab40 README

View differences:

README
12 12
spaced logarithmically in frequency, rather than linearly. The output
13 13
bins are therefore linearly spaced in terms of musical pitch.
14 14

  
15
This implementation is reasonably fast and is causal, operating
16
block-by-block on the input, though with quite high latency depending
17
on the frequency range specified. By default it produces output at a
18
higher time resolution than some other implementations, using multiple
19
kernel atoms per time block. The inverse transform is approximate
20
rather than exact (see the paper cited below for details).
21

  
22

  
23
About this library
24
------------------
25

  
15 26
This library provides:
16 27

  
17 28
 * Forward transform: time-domain to complex Constant-Q bins
......
28 39
 * Pitch chromagram obtained by folding a Constant-Q spectrogram
29 40
   around into a single-octave range
30 41

  
42

  
43
Building the library and plugin
44
-------------------------------
45

  
46
To compile this code, use "make -f <file>" where <file> is one of
47
Makefile.linux, Makefile.osx, Makefile.mingw32 depending on
48
platform. These files set up some flags and include Makefile.inc,
49
which defines the input files and so forth. You could equally write
50
your own Makefile which does the same.
51

  
52
The Vamp plugin part of the build expects to find a compiled version
53
of the Vamp Plugin SDK in a neighbouring folder (../vamp-plugin-sdk).
54
The unit tests also require Boost headers to be available.
55

  
56
Note that this code uses the KissFFT library (compiled from source
57
bundled here) in its non-default double-precision mode via the use of
58
the flag -Dkiss_fft_scalar=double in Makefile.inc. If you want to
59
build this code using an external KissFFT library or custom build
60
scripts, you may need to do some work to ensure you have the right
61
configuration.
62

  
63

  
64
Credits
65
-------
66

  
31 67
The method is drawn from Christian Schörkhuber and Anssi Klapuri,
32 68
"Constant-Q transform toolbox for music processing", SMC 2010. See the
33 69
file CITATION for details. If you use this code in research work,
34 70
please cite this paper.
35 71

  
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 72
The C++ implementation is by Chris Cannam, Copyright 2014-2015 Queen
44 73
Mary, University of London.
45 74

  

Also available in: Unified diff