c@120: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ c@120: c@120: #ifndef _TRANSCRIPTION_PLUGIN_H_ c@183: #define _TRANSCRIPTION_PLUGIN_H_ c@120: c@120: #include c@120: c@120: class Transcription : public Vamp::Plugin c@120: { c@120: public: c@120: Transcription(float inputSampleRate); c@120: virtual ~Transcription(); c@120: c@120: bool initialise(size_t channels, size_t stepSize, size_t blockSize); c@120: void reset(); c@120: c@120: InputDomain getInputDomain() const { return TimeDomain; } c@120: c@120: std::string getIdentifier() const; c@120: std::string getName() const; c@120: std::string getDescription() const; c@120: std::string getMaker() const; c@120: int getPluginVersion() const; c@120: std::string getCopyright() const; c@120: size_t getPreferredStepSize() const; c@120: size_t getPreferredBlockSize() const; c@120: c@120: OutputList getOutputDescriptors() const; c@120: c@120: FeatureSet process(const float *const *inputBuffers, c@120: Vamp::RealTime timestamp); c@120: c@120: FeatureSet getRemainingFeatures(); c@120: c@120: protected: c@178: int m_stepSize; c@178: int m_blockSize; c@120: double * m_SoundIn; c@178: int m_SampleN; c@178: int m_AllocN; c@120: bool m_Excess; c@120: Vamp::RealTime m_Base; c@120: /* c@120: void sofacomplexMex(double *y, double *z, int ncols,double StartNote,double NoteInterval1,double NoteNum,double C,double D); c@120: void FindMaxN( double *InputArray, int InputLen,int MaxOrder); c@120: double SumF(double *InputArray,int Start, int End); c@120: int round10(int x) ; c@120: void ConToPitch1250(double *In, int InLen); c@120: void Norm1(double *In, int InLen); c@120: void Smooth(double *In, int InLen,int smoothLen); c@120: void FindPeaks(double *In, int InLen,double *Out1,double *Out2, int db, int db2, int db3); c@120: void ConFrom1050To960(double *In, double *out, int InputLen); c@120: void Move( double *InputArray, int InputLen,int m); c@120: double SumArray( double *InputArray, int InputHLen, int InputVLen); c@120: double Sum( double *InputArray, int InputHLen); c@120: void MeanV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void SumV( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void SumV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void MaxV( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void MaxV2( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void MinArray( double *InputArray, int InputHLen, int InputVLen, double MinValue); c@120: void MaxArray( double *InputArray, int InputHLen, int InputVLen, double MaxValue); c@120: double GetMaxValue( double *InputArray, int InputHLen, int InputVLen); c@120: void RemoveNoise( double *InputArray, int InputHLen, int InputVLen); c@120: double MeanArray( double *InputArray, int InputHLen, int InputVLen); c@120: void Mydiff( double *InputArray, int InputHLen, int InputVLen,int n); c@120: void PeakDetect(double *In, int InLen); c@120: void MeanV( double *InputArray, int InputHLen, int InputVLen, double *OutArray); c@120: void Edetect(double *InputArray, int InputHLen, int InputVLen, double MinT, double db1,double *OutOne); c@120: void OnsetDetection2(double *In,int InputLen,double *OutOne,double a,double b); c@120: void PitchEstimation(double *In, int InLen, double *OutArray,double *OutArray2); c@120: void DoMultiPitch(double *In, int RLen,int CLen, double *Out1, double *Out2); c@120: int OnsetToArray(double *In, int Len, double *OutStart,double *OutEnd); c@120: void dbfunction( double *InputArray, int InputHLen, int InputVLen,double *OutArray); c@120: c@120: void Transcribe(int Len,int inputLen,double *SoundIn,double *out,double *outArray2,double *outArray3);*/ c@120: c@120: }; c@120: c@120: c@120: #endif