Marsyas
0.6.0-alpha
|
Transform an (amplitude) spectrum to a chroma profile. More...
#include <Spectrum2ACMChroma.h>
Inherits MarSystem.
Public Member Functions | |
void | addControls () |
MarSystem * | clone () const |
void | myProcess (realvec &inSpectrum, realvec &outChroma) |
Processes data. | |
void | myUpdate (MarControlPtr inSender) |
Updates internal state due to a control change. | |
Spectrum2ACMChroma (mrs_string inName) | |
Spectrum2ACMChroma (const Spectrum2ACMChroma &inToCopy) | |
~Spectrum2ACMChroma () |
Transform an (amplitude) spectrum to a chroma profile.
This class implements the conversion of an (amplitude) spectrum to a chroma profile as described in "a novel chroma representation of polyphonic music based on multiple pitch tracking techniques" which was presented at the 16th ACM International Conference on Multimedia.
The method computes the set of pitches that best explains the salient frequencies present in the (amplitude) spectrum. The method results in (1) a chroma profile and (2) a chord evidence. (1) The chroma profile represents the normalized pitches after they were folded to one octave (2) The chord evidence represents the probability that a chord occurs in the examined frame. For an example, see the function "toy_with_chroma" in the mudbox.
Controls:
Definition at line 57 of file Spectrum2ACMChroma.h.
Spectrum2ACMChroma | ( | mrs_string | inName | ) |
Definition at line 23 of file Spectrum2ACMChroma.cpp.
Spectrum2ACMChroma | ( | const Spectrum2ACMChroma & | inToCopy | ) |
Definition at line 117 of file Spectrum2ACMChroma.cpp.
~Spectrum2ACMChroma | ( | ) |
Definition at line 133 of file Spectrum2ACMChroma.cpp.
void addControls | ( | ) |
Reimplemented from MarSystem.
Definition at line 144 of file Spectrum2ACMChroma.cpp.
Implements MarSystem.
Definition at line 138 of file Spectrum2ACMChroma.cpp.
Processes data.
in | Input data to read. |
out | Output data to write. |
Implement this method in subclass to define specific data processing.
Implements MarSystem.
Definition at line 224 of file Spectrum2ACMChroma.cpp.
void myUpdate | ( | MarControlPtr | sender | ) | [virtual] |
Updates internal state due to a control change.
sender | The control that triggered the update; more precisely, any control passed to the update() method - could be an invalid one. |
Implement this method in subclass to define specific response to control changes.
! should depend on input framesize !!
Reimplemented from MarSystem.
Definition at line 165 of file Spectrum2ACMChroma.cpp.