recognize.h
1.82 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "jthread.h"
#include <iostream>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
#include <list>
#include "dprintf.h"
#include "logger.h"
#include "listenerMonitorPCRBase.h"
#include "recognizeListener.h"
#include "recognizeException.h"
using namespace jthread;
using namespace std;
class Recognize: public Thread, public ListenerMonitorPCRBase {
public:
Recognize(char* _pathVideo, char* id);
Recognize(char* _pathVideo, char* id, char* rate);
Recognize(char* _pathVideo, int _inputType, char* id);
~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);
void notifyPCRBase(uint64_t pcrbase);
bool isFinished();
void Run();
int count_lines;
private:
int64_t pcr_base;
bool hasPCRBase;
char* pathVideo;
string id;
float confidenceRate;
bool finished;
vector<float> scores;
vector<int64_t> pts;
/** inputType: 1 = RawFile, 2 = Mic */
int inputType, frequency, sizeBlocs;
list<RecognizeListener*> *listeners;
char* extractAudioFromVideo();
int getTimeMediaSec();
/* @Deprecated */
void breakVideoParts(int timeTotal);
void executeJuliusEngine();
void filterOutputJulius();
void generateConfidence();
void notifyListeners(char* text, int64_t pts);
void notifyEndExtraction(int sentences_size);
void cleanFiles();
void createDir();
bool getConfidence();
int64_t calcula_pts(double msec);
int64_t convert_pts(string pts);
};