summaryrefslogtreecommitdiff
path: root/src/simpl/partial_tracking.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/simpl/partial_tracking.h')
-rw-r--r--src/simpl/partial_tracking.h41
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