Mixxx

Simac::ChordSegmentator Class Reference

#include <ChordSegmentator.hxx>

Collaboration diagram for Simac::ChordSegmentator:

List of all members.

Public Member Functions

 ChordSegmentator ()
 ~ChordSegmentator ()
void doIt (CLAM::TData &currentTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate)
void doItSimple (CLAM::TData &currentTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate)
void doItSimilarity (CLAM::TData &currentTime, const std::vector< double > &correlation, const unsigned firstCandidate, const unsigned secondCandidate)
void openSegment (CLAM::TData &currentTime, unsigned currentChord)
void closeSegment (CLAM::TData &currentTime)
void changeChordIfSegmentTooSmall (unsigned &segment)
void mergeSegmentIfIdenticalChordInPreviousSegment (unsigned &segment)
void closeLastSegment (CLAM::TData &currentTime)
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)

Detailed Description

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.


Constructor & Destructor Documentation

Simac::ChordSegmentator::ChordSegmentator ( ) [inline]

Definition at line 60 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Simac::ChordSegmentator::~ChordSegmentator ( ) [inline]

Definition at line 69 of file ChordSegmentator.hxx.


Member Function Documentation

void Simac::ChordSegmentator::changeChordIfSegmentTooSmall ( unsigned &  segment) [inline]

Definition at line 199 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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]

Definition at line 233 of file ChordSegmentator.hxx.

Here is the call graph for this function:

void Simac::ChordSegmentator::closeSegment ( CLAM::TData currentTime) [inline]

Definition at line 181 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

void Simac::ChordSegmentator::doIt ( CLAM::TData currentTime,
const std::vector< double > &  correlation,
const unsigned  firstCandidate,
const unsigned  secondCandidate 
) [inline]

Definition at line 71 of file ChordSegmentator.hxx.

Here is the call graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

Here is the caller graph for this function:

void Simac::ChordSegmentator::eraseAllSegments ( ) [inline]

Definition at line 252 of file ChordSegmentator.hxx.

Here is the call graph for this function:

void Simac::ChordSegmentator::estimateChord ( const ChordCorrelator::ChordCorrelation correlation,
unsigned &  estimatedChord 
) [inline]

Definition at line 262 of file ChordSegmentator.hxx.

Here is the caller graph for this function:

void Simac::ChordSegmentator::joinSegmentsWithIdenticalChords ( ) [inline]

Definition at line 299 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

void Simac::ChordSegmentator::mergeSegmentIfIdenticalChordInPreviousSegment ( unsigned &  segment) [inline]

Definition at line 217 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

void Simac::ChordSegmentator::method ( unsigned  method) [inline]

Definition at line 307 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

void Simac::ChordSegmentator::openSegment ( CLAM::TData currentTime,
unsigned  currentChord 
) [inline]

Definition at line 175 of file ChordSegmentator.hxx.

Here is the call graph for this function:

Here is the caller graph for this function:

const CLAM::DiscontinuousSegmentation& Simac::ChordSegmentator::segmentation ( ) const [inline]

Definition at line 305 of file ChordSegmentator.hxx.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines