JZ_speaker.c
3.0 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/* Includes ------------------------------------------------------------------*/
#include "JZ_speaker.h"
#include "music.h"
#include "JZ_TempControl.h"
#include <unistd.h>
/* Private constants ---------------------------------------------------------*/
/* Private types -------------------------------------------------------------*/
/* Private values -------------------------------------------------------------*/
extern int tts_add;
extern int tts_tone;
extern int tts_speed;
extern int readyflag;//喊话器准备就绪标志
/* Private functions declaration ---------------------------------------------*/
/* Exported functions definition ---------------------------------------------*/
/************************************
*文本喊话语速控制功能
*函数名:JZ_SpeechSpeedControlFeature
*函数参数:
@speed : 喊话速度 0-3
*返回值:
*函数作者:wzy
*************************************/
void JZ_SpeechSpeedControlFeature(uint8_t speed)
{
switch(speed){
case 0:
tts_speed=25;
break;
case 1:
tts_speed=50;
break;
case 2:
tts_speed=75;
break;
case 3:
tts_speed=100;
break;
default:
tts_speed=50;
break;
}
}
/************************************
*文本喊话音色控制功能
*函数名:JZ_TtsToneColorFeature
*函数参数:
@tone: 音色选择列表
0---中文女生---1
1---中文男生---2
2---英文女生---11
3---英文男生---12
4---东北话-----31
5---四川话-----32
6---河南话-----33
7---湖南话-----34
8---陕西话-----35
9---广东话-----36
*返回值:
*函数作者:wzy
*************************************/
void JZ_TtsToneColorFeature(uint8_t tone)
{
switch(tone){
case 0:
tts_tone=1;
break;
case 1:
tts_tone=2;
break;
case 2:
tts_tone=11;
break;
case 3:
tts_tone=12;
break;
case 4:
tts_tone=31;
break;
case 5:
tts_tone=32;
break;
case 6:
tts_tone=33;
break;
case 7:
tts_tone=34;
break;
case 8:
tts_tone=35;
break;
case 9:
tts_tone=36;
break;
default:
tts_tone=1;
break;
}
}
/************************************
*文本播放功能
*函数名:JZ_TtsPlayFeature
*函数参数:
@len:文本长度
@data:文本数据
*返回值:
*函数作者:wzy
*************************************/
int JZ_TtsPlayFeature(int len,char* data)
{
if(readyflag == 0)
{
return -1;
}
while (GetRecordStatus() == 1 || GetTtsStatus() == 1)
{
usleep(100*1000);
}
usleep(600*1000);
if(GetSpeakerMode() == 2)
{
TTS(tts_tone,100,tts_speed,len,data);
}
}