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
|
| #ifndef AUDIO_H
| #define AUDIO_H
|
| #include <ComDefine.h>
| #include <queue>
| #include <stdint.h>
|
| using namespace std;
|
| class AudioFrame {
| private:
| int start;
| int end;
| int len;
|
| public:
| AudioFrame();
| AudioFrame(int len);
|
| ~AudioFrame();
| int set_start(int val);
| int set_end(int val, int max_len);
| int get_start();
| int get_len();
| int disp();
| };
|
| class Audio {
| private:
| float *speech_data;
| int16_t *speech_buff;
| int speech_len;
| int speech_align_len;
| int16_t sample_rate;
| int offset;
| float align_size;
| int data_type;
| queue<AudioFrame *> frame_queue;
|
| public:
| Audio(int data_type);
| Audio(int data_type, int size);
| ~Audio();
| void disp();
| bool loadwav(const char *filename);
| int fetch_chunck(float *&dout, int len);
| int fetch(float *&dout, int &len, int &flag);
| void padding();
| void split();
| };
|
| #endif
|
|