Marsyas  0.6.0-alpha
/usr/src/RPM/BUILD/marsyas-0.6.0/src/marsyas/marsystems/MatchBassModel.h
Go to the documentation of this file.
00001 #ifndef MARSYAS_MATCHBASSMODEL_H
00002 #define MARSYAS_MATCHBASSMODEL_H
00003 
00004 #include <marsyas/system/MarSystem.h>
00005 #include <cstdlib>
00006 #include <ctime>
00007 
00008 namespace Marsyas
00009 {
00036 class MatchBassModel: public MarSystem
00037 {
00038 private:
00039   mrs_natural K_;
00040   mrs_natural I_;
00041   mrs_natural rootMin_;
00042   mrs_natural rootMax_;
00043   mrs_natural rootBin_;
00044   realvec d_;
00045   realvec k_;
00046   realvec seg_;
00047   realvec time_;
00048   realvec freq_;
00049   realvec logFreq_;
00050   realvec start_;
00051   realvec templates_;
00052   realvec covMatrix_;
00053   realvec i_featVec_;
00054   realvec j_featVec_;
00055   realvec stackedFeatVecs_;
00056   realvec metricResult_;
00057   realvec invec_;
00058   realvec costVector_;
00059   realvec distance_;
00060   mrs_real lowFreq_;
00061   mrs_real highFreq_;
00062   mrs_real rootFreq_;
00063   mrs_real totaldis_;
00064 
00065   MarControlPtr ctrl_nTemplates_;
00066   MarControlPtr ctrl_nDevision_;
00067   MarControlPtr ctrl_segmentation_;
00068   MarControlPtr ctrl_time_;
00069   MarControlPtr ctrl_freq_;
00070   MarControlPtr ctrl_totalDistance_;
00071   MarControlPtr ctrl_lowFreq_;
00072   MarControlPtr ctrl_highFreq_;
00073   MarControlPtr ctrl_rootFreq_;
00074   MarControlPtr ctrl_templates_;
00075   MarControlPtr ctrl_intervals_;
00076   MarControlPtr ctrl_selections_;
00077   MarControlPtr ctrl_mode_;
00078   MarControlPtr ctrl_calcCovMatrix_;
00079   MarControlPtr ctrl_covMatrix_;
00080   MarControlPtr ctrl_stdDev_;
00081   MarControlPtr ctrl_normalize_;
00082   MarControlPtr ctrl_distance_;
00083 
00084   void addControls();
00085   void myUpdate(MarControlPtr sender);
00086 
00087 public:
00088   enum covMatrixType {
00089     noCovMatrix = 0,
00090     fixedStdDev = 1,
00091     diagCovMatrix = 2,
00092     fullCovMatrix = 3
00093   };
00094 
00095   MatchBassModel(std::string name);
00096   MatchBassModel(const MatchBassModel& a);
00097   ~MatchBassModel();
00098 
00099   MarSystem* clone() const;
00100 
00101   void myProcess(realvec& in, realvec& out);
00102 };
00103 }
00104 
00105 #endif
00106 
00107