19 #ifndef INCLUDED_SOUNDANALYSERH
20 #define INCLUDED_SOUNDANALYSERH
31 #include "core/streamplayer.h"
32 #include "features/extractor.h"
35 #include "features/spectrum.h"
36 #include "features/zcr.h"
37 #include "features/hzcrr.h"
38 #include "features/ste.h"
39 #include "features/lster.h"
42 #include "algo/corpus.h"
45 #include "filters/average.h"
46 #include "filters/flux.h"
47 #include "filters/range.h"
48 #include "filters/highlowratio.h"
49 #include "filters/centroid.h"
50 #include "filters/memory.h"
51 #include "filters/compare.h"
52 #include "filters/mel.h"
53 #include "filters/distance.h"
99 void resetExtractors();
101 void cleanExtractors();
103 void registerExtractor(
string name,
FeatureExtractor* extr,
bool used =
true,
bool drawLines =
true);
110 bool setupPipeline(
string filename);
112 void setNormalization(
float min,
float max);
114 bool compute(
string url);
123 unsigned int nbElems(
unsigned int n);
134 double** features(
unsigned int n);
136 void clearFeatures();
138 void cleanOldFeatures(
unsigned int newestCount);
143 bool isUsed(
unsigned int index);
145 bool isDrawnWithLines(
unsigned int index);
147 string name(
unsigned int n);
149 int getFeatureByName(
string name);
166 vector<pair<string, FeatureExtractor* > > mExtr;
168 vector<bool> mDrawLines;
169 vector<double**> mFeatures;
180 boost::mutex mSwitchLock;
182 libvlc_time_t mLastUpdateTime;