Constant-Q Library
Public Member Functions
CQInverse Class Reference

#include <CQInverse.h>

Inheritance diagram for CQInverse:
CQBase

List of all members.

Public Member Functions

 CQInverse (CQParameters params)
virtual ~CQInverse ()
virtual bool isValid () const
virtual double getSampleRate () const
virtual int getBinsPerOctave () const
virtual int getOctaves () const
virtual int getTotalBins () const
virtual int getColumnHop () const
virtual int getLatency () const
virtual double getMaxFrequency () const
virtual double getMinFrequency () const
virtual double getBinFrequency (double bin) const
RealSequence process (const ComplexBlock &)
RealSequence getRemainingOutput ()

Detailed Description

Calculate an inverse constant-Q transform. The input must be the same representation as returned as output of a ConstantQ object with the same parameters. The output is a time-domain signal.

Note that you cannot perform an inverse transform from the magnitude-only output of CQSpectrogram; you need the complex valued data from ConstantQ.

Our implementation of the Constant-Q transform is not exactly invertible, and this produces only an approximation of the original signal (see publications for details).


Constructor & Destructor Documentation

Construct an inverse Constant-Q transform object using the given transform parameters.

CQInverse::~CQInverse ( ) [virtual]

Member Function Documentation

double CQInverse::getBinFrequency ( double  bin) const [virtual]

Return the frequency of a given bin in the Constant-Q output. This actually maps a continuous "bin scale" value to frequency: the bin parameter does not have to be an integer.

Implements CQBase.

virtual int CQInverse::getBinsPerOctave ( ) const [inline, virtual]

Return the number of bins per octave specified when constructing the Constant-Q implementation.

Implements CQBase.

virtual int CQInverse::getColumnHop ( ) const [inline, virtual]

Return the spacing, in samples at the sample rate returned from getSampleRate(), between one column and the next.

Implements CQBase.

virtual int CQInverse::getLatency ( ) const [inline, virtual]

Return the latency of Constant-Q calculation, in samples at the sample rate returned from getSampleRate().

Implements CQBase.

virtual double CQInverse::getMaxFrequency ( ) const [inline, virtual]

Return the maximum frequency of the Constant-Q output, i.e. the frequency of the highest bin in the output. This will normally be the same as the maximum frequency passed to the constructor of the specific Constant-Q implementation.

Implements CQBase.

double CQInverse::getMinFrequency ( ) const [virtual]

Return the minimum frequency of the Constant-Q output, i.e. the frequency of the lowest bin in the output. This is derived from the maximum frequency and octave count, and is not necessarily the same as any minimum frequency requested when constructing the Constant-Q implementation.

Implements CQBase.

virtual int CQInverse::getOctaves ( ) const [inline, virtual]

Return the number of octaves spanned by the Constant-Q transform.

Implements CQBase.

Return the remaining time-domain samples following the end of processing.

virtual double CQInverse::getSampleRate ( ) const [inline, virtual]

Return the sample rate used when constructing the specific Constant-Q implementation.

Implements CQBase.

virtual int CQInverse::getTotalBins ( ) const [inline, virtual]

Return the total number of bins in each Constant-Q column (i.e. bins-per-octave times number of octaves).

Implements CQBase.

virtual bool CQInverse::isValid ( ) const [inline, virtual]

Return true if the Constant-Q implementation was successfully constructed, with a valid set of initialisation parameters.

Implements CQBase.

Given a series of constant-Q columns in the form produced by the ConstantQ class, return a series of time-domain samples resulting from approximately inverting the constant-Q transform.


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator