Mercurial > hg > constant-q-cpp
view cpp-qm-dsp/CQKernel.h @ 30:39dddbb78d8b
Start on CQ process implementation
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Tue, 05 Nov 2013 16:44:12 +0000 |
parents | a5f71b5c9f85 |
children | ba648b8672bd |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ #ifndef CQ_KERNEL_H #define CQ_KERNEL_H #include <vector> #include <complex> class FFT; class CQKernel { public: CQKernel(double sampleRate, double maxFreq, int binsPerOctave); ~CQKernel(); struct Properties { double sampleRate; double maxFrequency; double minFrequency; int binsPerOctave; int fftSize; int fftHop; int atomsPerFrame; int atomSpacing; int firstCentre; double Q; }; Properties getProperties() const { return m_p; } private: Properties m_p; FFT *m_fft; struct KernelMatrix { std::vector<int> origin; std::vector<std::vector<std::complex<double> > > data; }; KernelMatrix m_kernel; void generateKernel(); void finaliseKernel(); }; #endif