annotate plugins/BeatTrack.h @ 266:d04675d44928 tip master

Refer to SDK from Github
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 02 Jun 2021 14:41:26 +0100
parents 67b6ea887d5d
children
rev   line source
c@27 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
c@27 2
c@27 3 /*
c@27 4 QM Vamp Plugin Set
c@27 5
c@27 6 Centre for Digital Music, Queen Mary, University of London.
c@135 7
c@135 8 This program is free software; you can redistribute it and/or
c@135 9 modify it under the terms of the GNU General Public License as
c@135 10 published by the Free Software Foundation; either version 2 of the
c@135 11 License, or (at your option) any later version. See the file
c@135 12 COPYING included with this distribution for more information.
c@27 13 */
c@27 14
c@27 15 #ifndef _BEAT_TRACK_PLUGIN_H_
c@27 16 #define _BEAT_TRACK_PLUGIN_H_
c@27 17
c@27 18 #include <vamp-sdk/Plugin.h>
c@27 19
c@27 20 class BeatTrackerData;
c@27 21
c@27 22 class BeatTracker : public Vamp::Plugin
c@27 23 {
c@27 24 public:
c@27 25 BeatTracker(float inputSampleRate);
c@27 26 virtual ~BeatTracker();
c@27 27
c@27 28 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
c@27 29 void reset();
c@27 30
c@27 31 InputDomain getInputDomain() const { return FrequencyDomain; }
c@27 32
c@27 33 std::string getIdentifier() const;
c@27 34 std::string getName() const;
c@27 35 std::string getDescription() const;
c@27 36 std::string getMaker() const;
c@27 37 int getPluginVersion() const;
c@27 38 std::string getCopyright() const;
c@27 39
c@27 40 ParameterList getParameterDescriptors() const;
c@27 41 float getParameter(std::string) const;
c@27 42 void setParameter(std::string, float);
c@27 43
c@27 44 size_t getPreferredStepSize() const;
c@27 45 size_t getPreferredBlockSize() const;
c@27 46
c@27 47 OutputList getOutputDescriptors() const;
c@27 48
c@27 49 FeatureSet process(const float *const *inputBuffers,
c@27 50 Vamp::RealTime timestamp);
c@27 51
c@27 52 FeatureSet getRemainingFeatures();
c@27 53
c@27 54 protected:
c@27 55 BeatTrackerData *m_d;
c@86 56 int m_method;
c@27 57 int m_dfType;
luis@144 58
luis@144 59 // MEPD new protected parameters to allow the user to control these advanced parameters of the beat tracker
luis@144 60 double m_alpha;
luis@144 61 double m_tightness;
luis@144 62 double m_inputtempo;
luis@144 63 bool m_constraintempo;
luis@144 64
c@30 65 bool m_whiten;
c@27 66 static float m_stepSecs;
c@86 67 FeatureSet beatTrackOld();
c@86 68 FeatureSet beatTrackNew();
c@27 69 };
c@27 70
c@27 71
c@27 72 #endif