#include #include #include #include #include #include "dprintf.h" #include "logger.h" #include "recognizeListener.h" #include "recognizeException.h" using namespace std; class Recognize { public: Recognize(char* _pathVideo); Recognize(char* _pathVideo, int _inputType); ~Recognize(); /* * Inicializa o processo de reconhecimento do áudio, considerando que * todos os parâmetros foram configurados. */ void initialize(); /* * Define a frenquencia do audio a ser analisada pelo Julius. * Necessário configurar o arquivo de configuração (.jconf). */ void setFrequency(int freq); /* * Define o tamanho em segundos de cada parte retirada do audio original. */ void setSizeAudioBlocs(int sec); void addListener(RecognizeListener* listener); bool isFinished(); private: char* pathVideo; bool finished; float sizeScores; float avgScores; /** inputType: 1 = RawFile, 2 = Mic */ int inputType, frequency, sizeBlocs; list *listeners; char* extractAudioFromVideo(); int getTimeMediaSec(); /* @Deprecated */ void breakVideoParts(int timeTotal); void executeJuliusEngine(); std::list* filterOutputJulius(); void confidenceJulius(); void notifyListeners(char* text); void cleanFiles(); };