00001 #ifndef MARSYAS_TRANSCRIBERINFO_H
00002 #define MARSYAS_TRANSCRIBERINFO_H
00003
00004 #include "MarSystemManager.h"
00005
00006
00007 namespace Marsyas
00008 {
00016 class TranscriberExtract
00017 {
00018
00019 public:
00020 TranscriberExtract();
00021 ~TranscriberExtract();
00022 mrs_real addFileSource(MarSystem* net,
00023 const std::string infile);
00024
00025 realvec getPitchesFromAudio(const std::string audioFilename);
00026 realvec getAmpsFromAudio(const std::string audioFilename);
00027 MarSystem* makePitchNet(const mrs_real srate,
00028 const mrs_real lowFreq = 100.0,
00029 MarSystem* rvSink = NULL);
00030 realvec getPitchesFromRealvecSink(MarSystem* rvSink,
00031 const mrs_real srate);
00032 MarSystem* makeAmplitudeNet(MarSystem* rvSink = NULL);
00033 realvec getAmpsFromRealvecSink(MarSystem* rvSink);
00034
00035 void getAllFromAudio(const std::string audioFilename, realvec&
00036 pitchList, realvec& ampList, realvec&
00037 boundaries);
00038 void toMidi(realvec& pitchList);
00039 mrs_real getNormalizingGain(const std::string audioFilename);
00040
00041 private:
00042 MarSystemManager mng;
00043 };
00044 }
00045 #endif
00046