Correlates PCP's with different ideal chord PCP's. More...
#include <ChordCorrelator.hxx>
Classes | |
struct | ChordModePatterns |
struct | ChordPattern |
Public Types | |
enum | Pitch { G, Ab, A, Bb, B, C, Db, D, Eb, E, F, Gb } |
typedef unsigned | ChordMode |
typedef std::vector< double > | PCP |
typedef std::vector< double > | ChordCorrelation |
Public Member Functions | |
ChordCorrelator (ChordModePatterns *modePatterns=chordModePatterns()) | |
void | DumpChordPatterns (std::ostream &os) |
std::string | root (unsigned chordIndex) const |
std::string | mode (unsigned chordIndex) const |
std::string | chordRepresentation (unsigned chordIndex) const |
std::vector< std::vector < double > > | chordPatternsSimilarity () const |
~ChordCorrelator () | |
void | doIt (const PCP &pcp) |
const std::vector< double > & | output () const |
Static Public Member Functions | |
static std::string | PitchNames (unsigned index) |
static ChordModePatterns * | chordModePatterns () |
Correlates PCP's with different ideal chord PCP's.
ChordCorrelator correlates an input Pitch Class Profile (PCP) with a set stereotypic PCP for ideal chords having the energy concentrated on the pitches that form the chord. The output is an array of the correlation for each chord model. chordRepresentation(i), root(i) and mode(i) can be used to know the chord which corresponds to the ith bin on the output.
Definition at line 41 of file ChordCorrelator.hxx.
typedef std::vector<double> Simac::ChordCorrelator::ChordCorrelation |
Definition at line 52 of file ChordCorrelator.hxx.
Definition at line 50 of file ChordCorrelator.hxx.
typedef std::vector<double> Simac::ChordCorrelator::PCP |
Definition at line 51 of file ChordCorrelator.hxx.
Definition at line 49 of file ChordCorrelator.hxx.
Simac::ChordCorrelator::ChordCorrelator | ( | ChordModePatterns * | modePatterns = chordModePatterns() |
) | [inline] |
Definition at line 94 of file ChordCorrelator.hxx.
References Simac::ChordCorrelator::ChordPattern::mode, mode(), Simac::ChordCorrelator::ChordPattern::normalization, Simac::ChordCorrelator::ChordPattern::pattern, Simac::ChordCorrelator::ChordPattern::root, and root().
Simac::ChordCorrelator::~ChordCorrelator | ( | ) | [inline] |
Definition at line 165 of file ChordCorrelator.hxx.
static ChordModePatterns* Simac::ChordCorrelator::chordModePatterns | ( | ) | [inline, static] |
Definition at line 61 of file ChordCorrelator.hxx.
std::vector< std::vector<double> > Simac::ChordCorrelator::chordPatternsSimilarity | ( | ) | const [inline] |
Definition at line 161 of file ChordCorrelator.hxx.
Referenced by Simac::ChordSegmentator::method().
std::string Simac::ChordCorrelator::chordRepresentation | ( | unsigned | chordIndex | ) | const [inline] |
Definition at line 154 of file ChordCorrelator.hxx.
References PitchNames(), and root().
void Simac::ChordCorrelator::doIt | ( | const PCP & | pcp | ) | [inline] |
Definition at line 168 of file ChordCorrelator.hxx.
void Simac::ChordCorrelator::DumpChordPatterns | ( | std::ostream & | os | ) | [inline] |
Definition at line 135 of file ChordCorrelator.hxx.
References PitchNames(), and root().
std::string Simac::ChordCorrelator::mode | ( | unsigned | chordIndex | ) | const [inline] |
Definition at line 150 of file ChordCorrelator.hxx.
Referenced by ChordCorrelator().
const std::vector<double>& Simac::ChordCorrelator::output | ( | ) | const [inline] |
Definition at line 181 of file ChordCorrelator.hxx.
static std::string Simac::ChordCorrelator::PitchNames | ( | unsigned | index | ) | [inline, static] |
Definition at line 44 of file ChordCorrelator.hxx.
Referenced by chordRepresentation(), DumpChordPatterns(), and root().
std::string Simac::ChordCorrelator::root | ( | unsigned | chordIndex | ) | const [inline] |
Definition at line 146 of file ChordCorrelator.hxx.
References PitchNames().
Referenced by ChordCorrelator(), chordRepresentation(), and DumpChordPatterns().