diff options
Diffstat (limited to 'src/simpl/partial_tracking.h')
-rw-r--r-- | src/simpl/partial_tracking.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/simpl/partial_tracking.h b/src/simpl/partial_tracking.h index 4491b42..b9f2d28 100644 --- a/src/simpl/partial_tracking.h +++ b/src/simpl/partial_tracking.h @@ -12,6 +12,15 @@ extern "C" { #include "IFGram.h" #include "SinAnal.h" +#include "Analyzer.h" +#include "AssociateBandwidth.h" +#include "BreakpointEnvelope.h" +#include "KaiserWindow.h" +#include "PartialBuilder.h" +#include "PartialList.h" +#include "ReassignedSpectrum.h" +#include "SpectralPeakSelector.h" + using namespace std; namespace simpl @@ -72,6 +81,7 @@ class SMSPartialTracking : public PartialTracking { Peaks update_partials(Frame* frame); }; + // --------------------------------------------------------------------------- // SndObjPartialTracking // --------------------------------------------------------------------------- @@ -93,7 +103,36 @@ class SndObjPartialTracking : public PartialTracking { Peaks update_partials(Frame* frame); }; +// --------------------------------------------------------------------------- +// LorisPartialTracking +// --------------------------------------------------------------------------- +class SimplLorisPTAnalyzer : public Loris::Analyzer { + protected: + Loris::BreakpointEnvelope _env; + Loris::PartialBuilder* _partial_builder; + + public: + SimplLorisPTAnalyzer(); + ~SimplLorisPTAnalyzer(); + Loris::Peaks peaks; + void analyze(); +}; + + +class LorisPartialTracking : public PartialTracking { + private: + SimplLorisPTAnalyzer* _analyzer; + Loris::PartialList _partials; + void reset(); + + public: + LorisPartialTracking(); + ~LorisPartialTracking(); + void max_partials(int new_max_partials); + Peaks update_partials(Frame* frame); +}; + -} // end of namespace Simpl +} // end of namespace simpl #endif |