Vamp Plugins Forum
Using Vamp Plugins and Hosts => Plugin and Host Announcements => Topic started by: cannam on August 09, 2014, 13:34:32

Announcing a new C++ library and Vamp plugin implementing the ConstantQ transform of a timedomain signal.
https://code.soundsoftware.ac.uk/projects/constantqcpp
The ConstantQ transform is a timetofrequencydomain transform related to the shorttime 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. The ConstantQ is useful as a preliminary transform in various other methods such as note transcription and key estimation techniques.
This library provides:
* Forward transform: timedomain to complex ConstantQ bins
* Forward spectrogram: timedomain to interpolated ConstantQ magnitude spectrogram
* Inverse transform: complex ConstantQ bins to time domain
The Vamp plugin provides:
* ConstantQ magnitude spectrogram with high and low frequency extents defined in Hz
* ConstantQ magnitude spectrogram with high and low frequency extents defined as MIDI pitch values
* Pitch chromagram obtained by folding a ConstantQ spectrogram around into a singleoctave range
The code is provided with full source under a liberal licence, and plugin binaries are provided for Windows, OS/X, and Linux.
The method is drawn from Christian SchĂ¶rkhuber and Anssi Klapuri, "ConstantQ 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.