comparison src/SubsequenceMatchVampPlugin.h @ 246:aac9ad4064ea subsequence tip

Fix incorrect handling of silent tail in the non-subsequence MATCH phase; some debug output changes
author Chris Cannam
date Fri, 24 Jul 2020 14:29:55 +0100
parents f68277668ad4
children
comparison
equal deleted inserted replaced
245:91796976e8c6 246:aac9ad4064ea
39 virtual ~SubsequenceMatchVampPlugin(); 39 virtual ~SubsequenceMatchVampPlugin();
40 40
41 bool initialise(size_t channels, size_t stepSize, size_t blockSize); 41 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
42 void reset(); 42 void reset();
43 43
44 InputDomain getInputDomain() const { return FrequencyDomain; } 44 InputDomain getInputDomain() const;
45 45
46 size_t getPreferredStepSize() const; 46 size_t getPreferredStepSize() const;
47 size_t getPreferredBlockSize() const; 47 size_t getPreferredBlockSize() const;
48 48
49 size_t getMinChannelCount() const { return 2; } 49 size_t getMinChannelCount() const;
50 size_t getMaxChannelCount() const { return 2; } 50 size_t getMaxChannelCount() const;
51 51
52 std::string getIdentifier() const; 52 std::string getIdentifier() const;
53 std::string getName() const; 53 std::string getName() const;
54 std::string getDescription() const; 54 std::string getDescription() const;
55 std::string getMaker() const; 55 std::string getMaker() const;
70 protected: 70 protected:
71 int m_stepSize; 71 int m_stepSize;
72 float m_stepTime; 72 float m_stepTime;
73 int m_blockSize; 73 int m_blockSize;
74 int m_coarseDownsample; 74 int m_coarseDownsample;
75 bool m_downsamplePeaks; // use peaks as opposed to averaging for downsample
75 bool m_serialise; 76 bool m_serialise;
76 bool m_smooth; 77 bool m_smooth;
77 78
78 size_t m_channelCount; 79 size_t m_channelCount;
79 Vamp::RealTime m_startTime; 80 Vamp::RealTime m_startTime;
96 97
97 std::vector<FeatureExtractor> m_featureExtractors; 98 std::vector<FeatureExtractor> m_featureExtractors;
98 std::vector<featureseq_t> m_features; // unconditioned features 99 std::vector<featureseq_t> m_features; // unconditioned features
99 100
100 FeatureSet performAlignment(); 101 FeatureSet performAlignment();
101 featureseq_t downsample(const featureseq_t &); 102 size_t findNonEmptyLength(const featureseq_t &);
103 featureseq_t downsample(const featureseq_t &, size_t inLength);
102 104
103 mutable int m_pathOutNo; 105 mutable int m_pathOutNo;
104 mutable int m_baOutNo; 106 mutable int m_baOutNo;
105 mutable int m_spanOutNo; 107 mutable int m_spanOutNo;
106 }; 108 };