matthiasm@0
|
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
|
matthiasm@0
|
2 /*
|
matthiasm@0
|
3 This file is Copyright (c) 2012 Matthias Mauch
|
matthiasm@0
|
4
|
matthiasm@0
|
5 */
|
matthiasm@0
|
6
|
matthiasm@0
|
7 #ifndef _VAMPYIN_H_
|
matthiasm@0
|
8 #define _VAMPYIN_H_
|
matthiasm@0
|
9
|
matthiasm@0
|
10 #include <vamp-sdk/Plugin.h>
|
matthiasm@0
|
11
|
matthiasm@0
|
12 #include "Yin.h"
|
matthiasm@0
|
13
|
matthiasm@0
|
14 class VampYin : public Vamp::Plugin
|
matthiasm@0
|
15 {
|
matthiasm@0
|
16 public:
|
matthiasm@0
|
17 VampYin(float inputSampleRate);
|
matthiasm@0
|
18 virtual ~VampYin();
|
matthiasm@0
|
19
|
matthiasm@0
|
20 std::string getIdentifier() const;
|
matthiasm@0
|
21 std::string getName() const;
|
matthiasm@0
|
22 std::string getDescription() const;
|
matthiasm@0
|
23 std::string getMaker() const;
|
matthiasm@0
|
24 int getPluginVersion() const;
|
matthiasm@0
|
25 std::string getCopyright() const;
|
matthiasm@0
|
26
|
matthiasm@0
|
27 InputDomain getInputDomain() const;
|
matthiasm@0
|
28 size_t getPreferredBlockSize() const;
|
matthiasm@0
|
29 size_t getPreferredStepSize() const;
|
matthiasm@0
|
30 size_t getMinChannelCount() const;
|
matthiasm@0
|
31 size_t getMaxChannelCount() const;
|
matthiasm@0
|
32
|
matthiasm@0
|
33 ParameterList getParameterDescriptors() const;
|
matthiasm@0
|
34 float getParameter(std::string identifier) const;
|
matthiasm@0
|
35 void setParameter(std::string identifier, float value);
|
matthiasm@0
|
36
|
matthiasm@0
|
37 ProgramList getPrograms() const;
|
matthiasm@0
|
38 std::string getCurrentProgram() const;
|
matthiasm@0
|
39 void selectProgram(std::string name);
|
matthiasm@0
|
40
|
matthiasm@0
|
41 OutputList getOutputDescriptors() const;
|
matthiasm@0
|
42
|
matthiasm@0
|
43 bool initialise(size_t channels, size_t stepSize, size_t blockSize);
|
matthiasm@0
|
44 void reset();
|
matthiasm@0
|
45
|
matthiasm@0
|
46 FeatureSet process(const float *const *inputBuffers,
|
matthiasm@0
|
47 Vamp::RealTime timestamp);
|
matthiasm@0
|
48
|
matthiasm@0
|
49 FeatureSet getRemainingFeatures();
|
matthiasm@0
|
50
|
matthiasm@0
|
51 protected:
|
matthiasm@0
|
52 size_t m_channels;
|
matthiasm@0
|
53 size_t m_stepSize;
|
matthiasm@0
|
54 size_t m_blockSize;
|
matthiasm@0
|
55 float m_fmin;
|
matthiasm@0
|
56 float m_fmax;
|
matthiasm@0
|
57 Yin m_yin;
|
matthiasm@0
|
58
|
matthiasm@0
|
59 mutable int m_outNoF0;
|
matthiasm@0
|
60 mutable int m_outNoPeriodicity;
|
matthiasm@0
|
61 mutable int m_outNoRms;
|
matthiasm@0
|
62 mutable int m_outNoSalience;
|
Chris@2
|
63
|
Chris@2
|
64 float m_yinParameter;
|
Chris@2
|
65 float m_outputUnvoiced;
|
matthiasm@0
|
66 };
|
matthiasm@0
|
67
|
matthiasm@0
|
68 #endif
|