/usr/include/CLAM/TonalAnalysis.hxx is in libclam-dev 1.4.0-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | #ifndef TonalAnalysis_hxx
#define TonalAnalysis_hxx
#include "DataTypes.hxx"
#include "DiscontinuousSegmentation.hxx"
#include "OutPort.hxx"
#include "AudioInPort.hxx"
#include "Processing.hxx"
#include "Audio.hxx"
#include "ProcessingConfig.hxx"
#include <string>
namespace Simac { class ChordExtractor; }
namespace CLAM
{
class TonalAnalysisConfig : public ProcessingConfig
{
public:
DYNAMIC_TYPE_USING_INTERFACE (TonalAnalysisConfig, 5, ProcessingConfig);
DYN_ATTRIBUTE (0, public, double, FilterInertia);
DYN_ATTRIBUTE (1, public, bool, TunningEnabled);
DYN_ATTRIBUTE (2, public, bool, PeakWindowingEnabled);
DYN_ATTRIBUTE (3, public, double, HopRatio);
DYN_ATTRIBUTE (4, public, unsigned, SegmentationMethod);
protected:
void DefaultInit(void);
};
class TonalAnalysis : public Processing
{
private:
TonalAnalysisConfig _config;
AudioInPort _input;
OutPort<std::vector<CLAM::TData> > _pcp;
OutPort<std::vector<CLAM::TData> > _chordCorrelation;
OutPort<DiscontinuousSegmentation> _segmentation;
OutPort<std::vector<std::pair<CLAM::TData, CLAM::TData> > > _chromaPeaks;
OutPort<std::pair<CLAM::TData, CLAM::TData> > _tunning;
public:
TonalAnalysis( const TonalAnalysisConfig & config = TonalAnalysisConfig() );
bool Do();
virtual ~TonalAnalysis();
const char * GetClassName() const {return "TonalAnalysis";}
inline const ProcessingConfig &GetConfig() const { return _config;}
bool ConcreteConfigure(const ProcessingConfig& c);
bool ConcreteStart();
bool ConcreteStop();
private:
Simac::ChordExtractor * _implementation;
std::vector<float> _floatBuffer;
CLAM::TData _currentTime;
};
} //namespace CLAM
#endif
|