25namespace jsa::cicuetea {
48 double minFrequency,
double maxFrequency,
double refFrequency);
79 const Eigen::ArrayXd&
getWindow()
const {
return win; }
93 Eigen::Index
getLatency()
const {
return slicer.getBlockSize(); }
109 Eigen::ArrayXXcd Xcq;
137 double minFrequency,
double maxFrequency,
double refFrequency);
182 Eigen::Index
getLatency()
const {
return slicer.getBlockSize(); }
226 double minFrequency,
double maxFrequency,
double refFrequency);
271 Eigen::Index
getLatency()
const {
return slicer.getBlockSize() + slicer.getHopSize(); }
288 Eigen::ArrayXXcd Ycq;
317 double fraction,
double minFrequency,
318 double maxFrequency,
double refFrequency);
357 const Eigen::ArrayXd&
getCqtWindow(Eigen::Index k)
const {
return Win[k]; }
371 Eigen::Index
getLatency()
const {
return slicer.getBlockSize() + slicer.getHopSize(); }
Provides an implementation of CQT and its inverses.
Provides an implementation of a 2 step buffer to handle current and last elements.
Provides an implementation of a Slicer of continuous data.
Provides an implementation of a Splicer of sliced data to produce continuous data.
virtual ~CqtDenseProcessor()=default
Virtual destructor for safe polymorphic use.
const NsgfCqtDense & getCqt() const
Gets the CQT object.
Definition CQTProcessor.hpp:86
const Eigen::ArrayXd & getWindow() const
Gets the windowing function.
Definition CQTProcessor.hpp:79
bool isValid() const
True when the underlying CQT configuration is valid.
Definition CQTProcessor.hpp:101
double processSample(double sample)
Processes a single audio sample.
Definition CQTProcessor.cpp:38
virtual void processBlock(Eigen::ArrayXXcd &block)=0
Processes a block of data.
NsgfCqtDense cqt
The CQT object used for processing.
Definition CQTProcessor.hpp:104
CqtDenseProcessor(double sampleRate, Eigen::Index numSamples, double fraction, double minFrequency, double maxFrequency, double refFrequency)
Constructs a CqtDenseProcessor object.
Definition CQTProcessor.cpp:16
Eigen::Index getLatency() const
Gets the latency produced by the processor.
Definition CQTProcessor.hpp:93
virtual ~CqtSparseProcessor()=default
Virtual destructor for safe polymorphic use.
NsgfCqtSparse cqt
The CQT object used for processing.
Definition CQTProcessor.hpp:193
double processSample(double sample)
Processes a single audio sample.
Definition CQTProcessor.cpp:83
const NsgfCqtSparse & getCqt() const
Gets the CQT object.
Definition CQTProcessor.hpp:175
CqtSparseProcessor(double sampleRate, Eigen::Index numSamples, double fraction, double minFrequency, double maxFrequency, double refFrequency)
Constructs a CqtSparseProcessor object.
Definition CQTProcessor.cpp:63
const Eigen::ArrayXd & getWindow() const
Gets the windowing function.
Definition CQTProcessor.hpp:168
Eigen::Index getLatency() const
Gets the latency produced by the processor.
Definition CQTProcessor.hpp:182
bool isValid() const
True when the underlying CQT configuration is valid.
Definition CQTProcessor.hpp:190
virtual void processBlock(NsgfCqtSparse::Coefs &block)=0
Processes a block of data.
A double-buffer implementation for storing and switching between two values.
Definition DoubleBuffer.h:30
Dense implementation of the NSGF-CQT.
Definition CQT.hpp:197
Sparse implementation of the NSGF-CQT.
Definition CQT.hpp:246
std::vector< Eigen::ArrayXd > Frame
Type alias for frame.
Definition CQT.hpp:258
std::vector< Eigen::ArrayXcd > Coefs
Type alias for coefficients.
Definition CQT.hpp:257
A class for slicing audio or signal data into overlapping blocks.
Definition Slicer.hpp:32
virtual void processBlock(Eigen::ArrayXXcd &block)=0
Processes a block of data.
virtual ~SlidingCqtDenseProcessor()=default
Virtual destructor for safe polymorphic use.
const Eigen::ArrayXd & getWindow() const
Gets the windowing function.
Definition CQTProcessor.hpp:257
NsgfCqtDense cqt
The CQT object used for processing.
Definition CQTProcessor.hpp:282
double processSample(double sample)
Processes a single audio sample.
Definition CQTProcessor.cpp:140
const NsgfCqtDense & getCqt() const
Gets the CQT object.
Definition CQTProcessor.hpp:264
SlidingCqtDenseProcessor(double sampleRate, Eigen::Index numSamples, double fraction, double minFrequency, double maxFrequency, double refFrequency)
Constructs a SlidingCqtDenseProcessor object.
Definition CQTProcessor.cpp:107
bool isValid() const
True when the underlying CQT configuration is valid.
Definition CQTProcessor.hpp:279
Eigen::Index getLatency() const
Gets the latency produced by the processor.
Definition CQTProcessor.hpp:271
bool isValid() const
True when the underlying CQT configuration is valid.
Definition CQTProcessor.hpp:379
virtual void processBlock(NsgfCqtSparse::Coefs &block)=0
Processes a block of data.
double processSample(double sample)
Processes a single audio sample.
Definition CQTProcessor.cpp:226
const Eigen::ArrayXd & getWindow() const
Gets the windowing function.
Definition CQTProcessor.hpp:349
SlidingCqtSparseProcessor(double sampleRate, Eigen::Index numSamples, double fraction, double minFrequency, double maxFrequency, double refFrequency)
Constructs a SlidingCqtSparseProcessor object.
Definition CQTProcessor.cpp:191
NsgfCqtSparse cqt
The CQT object used for processing.
Definition CQTProcessor.hpp:382
Eigen::Index getLatency() const
Gets the latency produced by the processor.
Definition CQTProcessor.hpp:371
const Eigen::ArrayXd & getCqtWindow(Eigen::Index k) const
Gets the CQT window for a specific index.
Definition CQTProcessor.hpp:357
const NsgfCqtSparse & getCqt() const
Gets the CQT object.
Definition CQTProcessor.hpp:364
virtual ~SlidingCqtSparseProcessor()=default
Virtual destructor for safe polymorphic use.
A class for managing and processing audio blocks with overlap and hop sizes.
Definition Splicer.hpp:31