![]() |
Mixxx
|
#include <ChordSegmentator.hxx>
Public Member Functions | |
ChordSegmentator () | |
~ChordSegmentator () | |
void | doIt (CLAM::TData ¤tTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate) |
void | doItSimple (CLAM::TData ¤tTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate) |
void | doItSimilarity (CLAM::TData ¤tTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate) |
void | openSegment (CLAM::TData ¤tTime, unsigned currentChord) |
void | closeSegment (CLAM::TData ¤tTime) |
void | changeChordIfSegmentTooSmall (unsigned &segment) |
void | mergeSegmentIfIdenticalChordInPreviousSegment (unsigned &segment) |
void | closeLastSegment (CLAM::TData ¤tTime) |
void | eraseAllSegments () |
void | estimateChord (const ChordCorrelator::ChordCorrelation &correlation, unsigned &estimatedChord) |
void | changeChordsForSmallSegments () |
void | joinSegmentsWithIdenticalChords () |
const CLAM::DiscontinuousSegmentation & | segmentation () const |
const std::vector< unsigned > & | chordIndexes () const |
void | method (unsigned method) |
ChordSegmentator divides the analysed audio data into segments characterized by different chords. It takes as input the chord correlation for each frame and decides whether this new data signifies a chord change in the music. If so it opens a new segment for the new chord, at the same time closing the previous segment.
Definition at line 44 of file ChordSegmentator.hxx.
Simac::ChordSegmentator::ChordSegmentator | ( | ) | [inline] |
Simac::ChordSegmentator::~ChordSegmentator | ( | ) | [inline] |
Definition at line 69 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::changeChordIfSegmentTooSmall | ( | unsigned & | segment | ) | [inline] |
Definition at line 199 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::changeChordsForSmallSegments | ( | ) | [inline] |
Finds segments shorter then minSegmentLength and assigns them the same chord as the chord in either the previous or the next segment.
Definition at line 294 of file ChordSegmentator.hxx.
const std::vector<unsigned>& Simac::ChordSegmentator::chordIndexes | ( | ) | const [inline] |
Definition at line 306 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::closeLastSegment | ( | CLAM::TData & | currentTime | ) | [inline] |
void Simac::ChordSegmentator::closeSegment | ( | CLAM::TData & | currentTime | ) | [inline] |
Definition at line 181 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::doIt | ( | CLAM::TData & | currentTime, |
const std::vector< double > & | correlation, | ||
const unsigned | firstCandidate, | ||
const unsigned | secondCandidate | ||
) | [inline] |
void Simac::ChordSegmentator::doItSimilarity | ( | CLAM::TData & | currentTime, |
const std::vector< double > & | correlation, | ||
const unsigned | firstCandidate, | ||
const unsigned | secondCandidate | ||
) | [inline] |
Chord similarity based segmentation method
Definition at line 117 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::doItSimple | ( | CLAM::TData & | currentTime, |
const std::vector< double > & | correlation, | ||
const unsigned | firstCandidate, | ||
const unsigned | secondCandidate | ||
) | [inline] |
Simple chord segmentation method
Definition at line 87 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::eraseAllSegments | ( | ) | [inline] |
void Simac::ChordSegmentator::estimateChord | ( | const ChordCorrelator::ChordCorrelation & | correlation, |
unsigned & | estimatedChord | ||
) | [inline] |
void Simac::ChordSegmentator::joinSegmentsWithIdenticalChords | ( | ) | [inline] |
Definition at line 299 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::mergeSegmentIfIdenticalChordInPreviousSegment | ( | unsigned & | segment | ) | [inline] |
Definition at line 217 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::method | ( | unsigned | method | ) | [inline] |
Definition at line 307 of file ChordSegmentator.hxx.
void Simac::ChordSegmentator::openSegment | ( | CLAM::TData & | currentTime, |
unsigned | currentChord | ||
) | [inline] |
Definition at line 175 of file ChordSegmentator.hxx.
const CLAM::DiscontinuousSegmentation& Simac::ChordSegmentator::segmentation | ( | ) | const [inline] |
Definition at line 305 of file ChordSegmentator.hxx.