qm-dsp
1.8
|
#include <ClusterMeltSegmenter.h>
Public Member Functions | |
ClusterMeltSegmenter (ClusterMeltSegmenterParams params) | |
virtual | ~ClusterMeltSegmenter () |
virtual void | initialise (int samplerate) |
virtual int | getWindowsize () |
virtual int | getHopsize () |
virtual void | extractFeatures (const double *samples, int nsamples) |
void | setFeatures (const vector< vector< double > > &f) |
virtual void | segment () |
void | segment (int m) |
int | getNSegmentTypes () |
virtual void | clear () |
const Segmentation & | getSegmentation () const |
Protected Member Functions | |
void | makeSegmentation (int *q, int len) |
void | extractFeaturesConstQ (const double *, int) |
void | extractFeaturesMFCC (const double *, int) |
Protected Attributes | |
Window< double > * | window |
FFTReal * | fft |
ConstantQ * | constq |
MFCC * | mfcc |
model_t * | model |
int * | q |
vector< vector< double > > | histograms |
feature_types | featureType |
double | hopSize |
double | windowSize |
int | fmin |
int | fmax |
int | nbins |
int | ncoeff |
int | ncomponents |
int | nHMMStates |
int | nclusters |
int | histogramLength |
int | neighbourhoodLimit |
Decimator * | decimator |
vector< vector< double > > | features |
Segmentation | segmentation |
int | samplerate |
Definition at line 59 of file ClusterMeltSegmenter.h.
Definition at line 28 of file ClusterMeltSegmenter.cpp.
ClusterMeltSegmenter::~ClusterMeltSegmenter | ( | ) | [virtual] |
void ClusterMeltSegmenter::initialise | ( | int | samplerate | ) | [virtual] |
Implements Segmenter.
Definition at line 48 of file ClusterMeltSegmenter.cpp.
References CQConfig::BPO, constq, CQConfig::CQThresh, decimator, FEATURE_TYPE_CHROMA, FEATURE_TYPE_CONSTQ, FEATURE_TYPE_MFCC, featureType, fft, MFCCConfig::fftsize, fmax, fmin, CQConfig::FS, ConstantQ::getfftlength(), Decimator::getHighestSupportedFactor(), ConstantQ::getK(), getWindowsize(), CQConfig::max, mfcc, CQConfig::min, nbins, MFCCConfig::nceps, ncoeff, Segmenter::samplerate, ConstantQ::sparsekernel(), and MFCCConfig::want_c0.
int ClusterMeltSegmenter::getWindowsize | ( | ) | [virtual] |
Implements Segmenter.
Definition at line 122 of file ClusterMeltSegmenter.cpp.
References Segmenter::samplerate, and windowSize.
Referenced by extractFeaturesConstQ(), extractFeaturesMFCC(), and initialise().
int ClusterMeltSegmenter::getHopsize | ( | ) | [virtual] |
Implements Segmenter.
Definition at line 128 of file ClusterMeltSegmenter.cpp.
References hopSize, and Segmenter::samplerate.
Referenced by makeSegmentation().
void ClusterMeltSegmenter::extractFeatures | ( | const double * | samples, |
int | nsamples | ||
) | [virtual] |
Implements Segmenter.
Definition at line 133 of file ClusterMeltSegmenter.cpp.
References extractFeaturesConstQ(), extractFeaturesMFCC(), FEATURE_TYPE_CHROMA, FEATURE_TYPE_CONSTQ, FEATURE_TYPE_MFCC, and featureType.
void ClusterMeltSegmenter::setFeatures | ( | const vector< vector< double > > & | f | ) |
Definition at line 317 of file ClusterMeltSegmenter.cpp.
References FEATURE_TYPE_UNKNOWN, Segmenter::features, and featureType.
void ClusterMeltSegmenter::segment | ( | ) | [virtual] |
Implements Segmenter.
Definition at line 323 of file ClusterMeltSegmenter.cpp.
References Segmenter::clear(), cluster_segment(), constq, constq_segment(), decimator, FEATURE_TYPE_MFCC, FEATURE_TYPE_UNKNOWN, Segmenter::features, featureType, histogramLength, makeSegmentation(), mfcc, nbins, nclusters, ncoeff, neighbourhoodLimit, nHMMStates, and q.
Referenced by makeSegmentation(), and segment().
void ClusterMeltSegmenter::segment | ( | int | m | ) | [virtual] |
Implements Segmenter.
Definition at line 311 of file ClusterMeltSegmenter.cpp.
int ClusterMeltSegmenter::getNSegmentTypes | ( | ) | [inline] |
Definition at line 71 of file ClusterMeltSegmenter.h.
References nclusters.
void ClusterMeltSegmenter::makeSegmentation | ( | int * | q, |
int | len | ||
) | [protected] |
Definition at line 375 of file ClusterMeltSegmenter.cpp.
References Segment::end, getHopsize(), nclusters, Segmentation::nsegtypes, Segmentation::samplerate, Segmenter::samplerate, segment(), Segmenter::segmentation, Segmentation::segments, Segment::start, and Segment::type.
Referenced by segment().
void ClusterMeltSegmenter::extractFeaturesConstQ | ( | const double * | samples, |
int | nsamples | ||
) | [protected] |
Definition at line 143 of file ClusterMeltSegmenter.cpp.
References constq, Window< T >::cut(), decimator, Segmenter::features, fft, FFTReal::forward(), Decimator::getFactor(), ConstantQ::getfftlength(), Window< T >::getSize(), getWindowsize(), HammingWindow, ncoeff, ConstantQ::process(), Decimator::process(), and window.
Referenced by extractFeatures().
void ClusterMeltSegmenter::extractFeaturesMFCC | ( | const double * | samples, |
int | nsamples | ||
) | [protected] |
Definition at line 239 of file ClusterMeltSegmenter.cpp.
References decimator, Segmenter::features, Decimator::getFactor(), MFCC::getfftlength(), getWindowsize(), mfcc, ncoeff, MFCC::process(), and Decimator::process().
Referenced by extractFeatures().
virtual void Segmenter::clear | ( | ) | [inline, virtual, inherited] |
const Segmentation& Segmenter::getSegmentation | ( | ) | const [inline, inherited] |
Definition at line 55 of file Segmenter.h.
References Segmenter::segmentation.
Window<double>* ClusterMeltSegmenter::window [protected] |
Definition at line 79 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesConstQ(), and ~ClusterMeltSegmenter().
FFTReal* ClusterMeltSegmenter::fft [protected] |
Definition at line 80 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesConstQ(), initialise(), and ~ClusterMeltSegmenter().
ConstantQ* ClusterMeltSegmenter::constq [protected] |
Definition at line 81 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesConstQ(), initialise(), segment(), and ~ClusterMeltSegmenter().
MFCC* ClusterMeltSegmenter::mfcc [protected] |
Definition at line 82 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesMFCC(), initialise(), and segment().
model_t* ClusterMeltSegmenter::model [protected] |
Definition at line 83 of file ClusterMeltSegmenter.h.
int* ClusterMeltSegmenter::q [protected] |
Definition at line 84 of file ClusterMeltSegmenter.h.
Referenced by segment().
vector<vector<double> > ClusterMeltSegmenter::histograms [protected] |
Definition at line 85 of file ClusterMeltSegmenter.h.
feature_types ClusterMeltSegmenter::featureType [protected] |
Definition at line 87 of file ClusterMeltSegmenter.h.
Referenced by extractFeatures(), initialise(), segment(), and setFeatures().
double ClusterMeltSegmenter::hopSize [protected] |
Definition at line 88 of file ClusterMeltSegmenter.h.
Referenced by getHopsize().
double ClusterMeltSegmenter::windowSize [protected] |
Definition at line 89 of file ClusterMeltSegmenter.h.
Referenced by getWindowsize().
int ClusterMeltSegmenter::fmin [protected] |
Definition at line 92 of file ClusterMeltSegmenter.h.
Referenced by initialise().
int ClusterMeltSegmenter::fmax [protected] |
Definition at line 93 of file ClusterMeltSegmenter.h.
Referenced by initialise().
int ClusterMeltSegmenter::nbins [protected] |
Definition at line 94 of file ClusterMeltSegmenter.h.
Referenced by initialise(), and segment().
int ClusterMeltSegmenter::ncoeff [protected] |
Definition at line 95 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesConstQ(), extractFeaturesMFCC(), initialise(), and segment().
int ClusterMeltSegmenter::ncomponents [protected] |
Definition at line 98 of file ClusterMeltSegmenter.h.
int ClusterMeltSegmenter::nHMMStates [protected] |
Definition at line 101 of file ClusterMeltSegmenter.h.
Referenced by segment().
int ClusterMeltSegmenter::nclusters [protected] |
Definition at line 104 of file ClusterMeltSegmenter.h.
Referenced by getNSegmentTypes(), makeSegmentation(), and segment().
int ClusterMeltSegmenter::histogramLength [protected] |
Definition at line 105 of file ClusterMeltSegmenter.h.
Referenced by segment().
int ClusterMeltSegmenter::neighbourhoodLimit [protected] |
Definition at line 106 of file ClusterMeltSegmenter.h.
Referenced by segment().
Decimator* ClusterMeltSegmenter::decimator [protected] |
Definition at line 108 of file ClusterMeltSegmenter.h.
Referenced by extractFeaturesConstQ(), extractFeaturesMFCC(), initialise(), segment(), and ~ClusterMeltSegmenter().
vector<vector<double> > Segmenter::features [protected, inherited] |
Definition at line 57 of file Segmenter.h.
Referenced by Segmenter::clear(), extractFeaturesConstQ(), extractFeaturesMFCC(), segment(), and setFeatures().
Segmentation Segmenter::segmentation [protected, inherited] |
Definition at line 58 of file Segmenter.h.
Referenced by Segmenter::getSegmentation(), and makeSegmentation().
int Segmenter::samplerate [protected, inherited] |
Definition at line 59 of file Segmenter.h.
Referenced by getHopsize(), getWindowsize(), initialise(), and makeSegmentation().