Merge branch 'feat/add_g2p' into 'master'

Feat/add g2p

See merge request speech-recognition-framework/esp-sr!67
This commit is contained in:
Sun Xiang Yu 2023-11-08 10:34:08 +08:00
commit 0aa5a30e6d
20 changed files with 945 additions and 939 deletions

View File

@ -4,12 +4,14 @@
- Available storage is less than the remaining flash space on IDF v5.0.
If you can not map model partition successfully, please check the left free storage by `spi_flash_mmap_get_free_pages(ESP_PARTITION_MMAP_DATA)` or update IDF to v5.1 or later.
## unrelease
## 1.5.0
- Add esp32c6 tts lib
- Return the volume of wake word audio when one wake word is detected
- Reduce MultiNet6 SRAM size from 48KB to 32 KB
- Add "Hi M Five" wake word model from M5Stack
- Remove all MultiNet4 models
- Update MultiNet7_en v2.0
- Fix some bugs in AFE
## 1.4.2
- Reset timeout trigger of multinet6 when a new speech command is detected

View File

@ -89,6 +89,7 @@ elseif(${IDF_TARGET} STREQUAL "esp32s3")
esp_audio_front_end
esp_audio_processor
multinet
flite_g2p
esp_tts_chinese
voice_set_xiaole
wakenet

View File

@ -21,7 +21,7 @@ typedef enum {
} esp_mn_state_t;
//Set multinet loading mode
//The memory comsumption is decreased with increasing mode,
//The memory comsumption is decreased with increasing mode,
//As a consequence also the CPU loading rate goes up
typedef enum {
ESP_MN_LOAD_FROM_PSRAM = 0, // Load all weights from PSRAM. Fastest computation with Maximum memory consumption
@ -52,6 +52,7 @@ typedef struct{
typedef struct {
char *string; // command string
char *phonemes; // command phonemes, if applicable
int16_t command_id; // the command id
float threshold; // trigger threshold, default: 0
int16_t *wave; // prompt wave data of the phrase
@ -79,7 +80,7 @@ typedef model_iface_data_t* (*esp_mn_iface_op_create_t)(const char *model_name,
/**
* @brief Switch multinet mode to change memory consumption and CPU loading
*
*
* @warning Just Support multinet6 or later versions
*
* @param model The model object to query
@ -109,7 +110,7 @@ typedef int (*esp_mn_iface_op_get_samp_chunksize_t)(model_iface_data_t *model);
typedef int (*esp_mn_iface_op_get_samp_chunknum_t)(model_iface_data_t *model);
/**
* @brief Set the detection threshold to manually abjust the probability
* @brief Set the detection threshold to manually abjust the probability
*
* @param model The model object to query
* @param det_treshold The threshold to trigger speech commands, the range of det_threshold is 0.0~0.9999
@ -127,7 +128,7 @@ typedef int (*esp_mn_iface_op_get_samp_rate_t)(model_iface_data_t *model);
/**
* @brief Get the language of model
*
* @param model The language name
* @param model The language name
* @return Language name string defined in esp_mn_models.h, eg: ESP_MN_CHINESE, ESP_MN_ENGLISH
*/
typedef char * (*esp_mn_iface_op_get_language_t)(model_iface_data_t *model);
@ -136,7 +137,7 @@ typedef char * (*esp_mn_iface_op_get_language_t)(model_iface_data_t *model);
* @brief Feed samples of an audio stream to the speech recognition model and detect if there is a speech command found.
*
* @param model The model object to query.
* @param samples An array of 16-bit signed audio samples. The array size used can be queried by the
* @param samples An array of 16-bit signed audio samples. The array size used can be queried by the
* get_samp_chunksize function.
* @return The state of multinet
*/
@ -150,10 +151,10 @@ typedef esp_mn_state_t (*esp_mn_iface_op_detect_t)(model_iface_data_t *model, in
typedef void (*esp_mn_iface_op_destroy_t)(model_iface_data_t *model);
/**
* @brief Get recognition results
* @brief Get recognition results
*
* @param model The Model object to query
*
*
* @return The current results.
*/
typedef esp_mn_results_t* (*esp_mn_iface_op_get_results_t)(model_iface_data_t *model);
@ -186,14 +187,14 @@ typedef esp_mn_error_t* (*esp_wn_iface_op_set_speech_commands)(model_iface_data_
/**
* @brief Print out current commands in fst, note the ones "added" but not "updated" will not be shown here
*
*
* @param model_data The model object to query
*/
typedef void (*esp_mn_iface_op_print_active_speech_commands)(model_iface_data_t *model_data);
/**
* @brief Check if input string can be tokenized
*
*
* @param model_data The model object to query
* @param str The input string
*/
@ -206,7 +207,7 @@ typedef struct {
esp_mn_iface_op_get_samp_chunknum_t get_samp_chunknum;
esp_mn_iface_op_set_det_threshold_t set_det_threshold;
esp_mn_iface_op_get_language_t get_language;
esp_mn_iface_op_detect_t detect;
esp_mn_iface_op_detect_t detect;
esp_mn_iface_op_destroy_t destroy;
esp_mn_iface_op_get_results_t get_results;
esp_mn_iface_op_open_log_t open_log;

View File

@ -0,0 +1,20 @@
#ifndef __FLITE_G2P_H__
#define __FLITE_G2P_H__
typedef struct {
int num_phonemes;
int phoneme_size;
char **phonemes;
} flite_g2p_result;
void flite_g2p_result_free(flite_g2p_result *result);
flite_g2p_result *flite_g2p_get_result(char *grapheme);
void flite_g2p_result_print_string(flite_g2p_result *result, int map_phonemes);
char *flite_g2p_result_get_string(flite_g2p_result *result, int map_phonemes);
char *flite_g2p(char *graphemes, int map_phonemes);
#endif

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
lib/esp32s3/libflite_g2p.a Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,313 +1,313 @@
1 ba xiao shi hou guan ji
2 ba xiao shi hou kai ji
3 bi kai wo chui
4 chao qiang feng su
5 chao zhe wo chui
6 chou shi mo shi
7 chu shi mo shi
8 da kai bai feng
9 da kai bing xiang
10 da kai chou shi mo shi
11 da kai chu jun
12 da kai chu shi mo shi
13 da kai dian fu re
14 da kai ding chu feng
15 da kai ding xiang chu wu
16 da kai er tong fang leng feng
17 da kai fang zhi chui
18 da kai feng ji
19 da kai fu re
20 da kai gan zao
21 da kai huan ji tiao wen
22 da kai jia shi
23 da kai jing hua
24 da kai jun yun feng
25 da kai kong tiao
26 da kai kong tiao deng guang
27 da kai mu ying feng
28 da kai mu qing feng
29 da kai pai feng mo shi
30 da kai pai qi
31 da kai pai qi mo shi
32 da kai qiang jing
33 da kai quan wu feng gan
34 da kai rou feng gan
35 da kai shang wu feng gan
36 da kai shang xia bai feng
37 da kai shang xia sao feng
38 da kai sen ba
39 da kai shu sheng
40 da kai shu shi feng
41 da kai shui mian
42 da kai si ji chu shi
43 da kai si ji chu shi mo shi
44 da kai song feng
45 da kai song feng mo shi
46 da kai wu feng gan
47 da kai xia wu feng gan
48 da kai xin feng
49 da kai xiu xian mo shi
50 da kai xuan zhuan song feng
51 da kai yi jian chu wu
52 da kai zhi leng
53 da kai zhi leng mo shi
54 da kai zhi re
55 da kai zhi re mo shi
56 da kai zhi kong wen
57 da kai zhi neng guan jia
58 da kai zhi neng sha jun
59 da kai zhi neng sheng dian
60 da kai zhi qing jie
61 da kai zhi wen gan
62 da kai zhuan shu wen du
63 da kai zi dong mo shi
64 da kai zuo you bai feng
65 da kai zuo you sao feng
66 di feng su
67 di su feng
68 di yi dian
69 dian fu re
70 tiao cheng zui leng
71 tiao cheng zui nuan
72 tiao da feng su
73 tiao da xin feng
74 tiao dao er shi ba du
75 tiao dao er shi du
76 tiao dao er shi er du
77 tiao dao er shi jiu du
78 tiao dao er shi liu du
79 tiao dao er shi qi du
80 tiao dao er shi san du
81 tiao dao er shi si du
82 tiao dao er shi wu du
83 tiao dao er shi yi du
84 tiao dao san shi du
85 tiao dao shi ba du
86 tiao dao shi jiu du
87 tiao dao shi liu du
88 tiao dao shi qi du
89 tiao dao zui leng
90 tiao dao zui nuan
91 tiao di ling dian wu du
92 tiao di wen du
93 tiao di yi du
94 tiao gao er shi du
95 tiao gao ling dian wu du
96 tiao gao wen du
97 tiao gao wu du
98 tiao gao yi du
99 tiao leng yi dian
100 tiao nuan
101 tiao nuan yi dian
102 tiao xiao feng su
103 tiao xiao xin feng
104 ding chu feng
105 ding shi wu rao
106 ding xiang chu wu
107 er tong fang leng feng
108 er dang xin feng
109 feng da yi dian
110 feng su da dian
111 feng su er dang
112 feng su san dang
113 feng su xiao dian
114 feng su yi dang
115 feng wang shang chui
116 feng wang xia chui
117 feng wang you chui
118 feng wang zhong jian chui
119 feng wang zuo chui
120 feng xiang shang chui
121 feng xiang xia chui
122 feng xiang you chui
123 feng xiang zhong jian chui
124 feng xiang zuo chui
125 feng xiao yi dian
126 gao feng su
127 gao su feng
128 guan bi bai feng
129 fang zhi chui
130 guan bi dian fu re
131 guan bi ding chu feng
132 guan bi ding xiang chu wu
133 guan bi er tong fang leng feng
134 guan bi fang zhi chui
135 guan bi feng ji
136 guan bi fu re
137 guan bi huan qi
138 guan bi huan qi mo shi
139 guan bi jia shi
140 guan bi jie neng
141 guan bi jun yun feng
142 guan bi kong tiao
143 guan bi kong tiao deng guang
144 guan bi mu ying feng
145 guan bi mu qing feng
146 guan bi qiang jing
147 guan bi quan wu feng gan
148 guan bi rou feng gan
149 guan bi sen ba
150 guan bi shang wu feng gan
151 guan bi shang xia bai feng
152 guan bi shang xia sao feng
153 guan bi shu sheng
154 guan bi shui mian
155 guan bi si ji chu shi
156 guan bi si ji chu shi mo shi
157 guan bi wu feng gan
158 guan bi xia wu feng gan
159 guan bi xin feng
160 guan bi xuan zhuan song feng
161 guan bi yi jian chu wu
162 guan bi zhi kong wen
163 guan bi zhi qing jie
164 guan bi zhong wen bao wen
165 guan bi zhuan xiang wen du er
166 guan bi zhuan xiang wen du san
167 guan bi zhuan xiang wen du yi
168 guan bi zuo you bai feng
169 guan bi zuo you sao feng
170 guan bi zhuan shu wen du
171 guan diao bai feng
172 guan diao dian fu re
173 guan diao ding chu feng
174 guan diao ding xiang chu wu
175 guan diao er tong fang leng feng
176 guan diao fang zhi chui
177 guan diao gan zao
178 guan diao huan qi
179 guan diao huan qi mo shi
180 guan diao jia shi
181 guan diao jing hua
182 guan diao jun yun feng
183 guan diao kong tiao
184 guan diao kong tiao deng guang
185 guan diao qiang jing
186 guan diao quan wu feng gan
187 guan diao rou feng gan
188 guan diao shang wu feng gan
189 guan diao shang xia bai feng
190 guan diao shu sheng
191 guan diao shui mian
192 guan diao si ji chu shi
193 guan diao si ji chu shi mo shi
194 guan diao wu feng gan
195 guan diao xia wu feng gan
196 guan diao xin feng
197 guan diao xuan zhuan song feng
198 guan diao yi jian chu wu
199 guan diao zhi kong wen
200 guan diao zhi qing jie
201 guan diao zuo you bai feng
202 guan kong tiao
203 guan shang xia bai feng
204 guan shang xia feng
205 guan xin feng
206 guan zuo you bai feng
207 guan zuo you feng
208 guan bi zhi neng sheng dian
209 jian xiao feng su
210 jian xiao pu tong xin feng
211 jian xiao xin feng
212 jiang di wen du
213 jing yin feng
214 jing yin feng su
215 jun yun feng
216 kai kong tiao
217 kai qi bai feng
218 kai qi chu shi
219 kai qi chu shi mo shi
220 kai qi kong tiao
221 kai qi pai feng mo shi
222 kai qi shang xia sao feng
223 kai qi tong feng
224 kai qi zhi leng
225 kai qi zhi leng mo shi
226 kai qi zhi re
227 kai qi zhi re mo shi
228 kai qi zuo you sao feng
229 kai shi chu wei
230 kong tiao da kai
231 kong tiao guan bi
232 kong tiao guan diao
233 kong tiao guan ji
234 kong tiao kai ji
235 kong tiao kai shi pei wang
236 kong tiao lian wang
237 kong tiao chong xin pei wang
238 kai xin feng
239 leng yi dian
240 nuan yi dian
241 pu tong xin feng
242 qi dong kong tiao
243 qiang jing xin feng
244 qiang li feng
245 qiang li feng su
246 qu shi mo shi
247 quan wu feng gan
248 rou feng gan
249 san dang xin feng
250 shang wu feng gan
251 shang xia bai feng
252 shang xia feng
253 sheng gao wen du
254 sheng dao zui gao
255 sheng dao zui gao wei zhi
256 si dang xin feng
257 si ji chu shi
258 si ji chu shi mo shi
259 song feng mo shi
260 tai leng le
261 tai re le
262 ting zhi shang xia bai feng
263 ting zhi shang xia sao feng
264 ting zhi bai feng
265 ting zhi zhuan shu wen du
266 ting zhi zuo you bai feng
267 ting zhi zuo you sao feng
268 xia wu feng gan
269 xin feng da dian
270 xin feng er dang
271 xin feng qiang jing
272 xin feng qiang jing dang
273 xin feng san dang
274 xin feng si dang
275 xin feng xiao dian
276 xin feng yi dang
277 xin feng zui da
278 xin feng zui da dang
279 xin feng zui xiao
280 xin feng zui xiao dang
281 xuan zhuan song feng
282 yi dang xin feng
283 you dian leng
284 you dian re
285 zai gao yi dian
286 zeng da feng su
287 zeng da xin feng
288 zhi leng mo shi
289 zhi re mo shi
290 zhi kong wen
291 zhi neng wu rao
292 zhi qing jie
293 zhong deng feng
294 zhong feng su
295 zhong su feng
296 zi dong
297 zi dong feng
298 zi dong feng su
299 zi dong mo shi
300 zui da feng
301 zui da feng su
302 zui da xin feng
303 zui xiao feng
304 zui xiao feng su
305 zui xiao xin feng
306 zuo you bai feng
307 zuo you feng
308 bang wo guan deng
309 bang wo kai deng
310 da kai dian deng
311 guan bi dian deng
312 xiao le xiao le
313 xiao xin xiao xin
1,ba xiao shi hou guan ji
2,ba xiao shi hou kai ji
3,bi kai wo chui
4,chao qiang feng su
5,chao zhe wo chui
6,chou shi mo shi
7,chu shi mo shi
8,da kai bai feng
9,da kai bing xiang
10,da kai chou shi mo shi
11,da kai chu jun
12,da kai chu shi mo shi
13,da kai dian fu re
14,da kai ding chu feng
15,da kai ding xiang chu wu
16,da kai er tong fang leng feng
17,da kai fang zhi chui
18,da kai feng ji
19,da kai fu re
20,da kai gan zao
21,da kai huan ji tiao wen
22,da kai jia shi
23,da kai jing hua
24,da kai jun yun feng
25,da kai kong tiao
26,da kai kong tiao deng guang
27,da kai mu ying feng
28,da kai mu qing feng
29,da kai pai feng mo shi
30,da kai pai qi
31,da kai pai qi mo shi
32,da kai qiang jing
33,da kai quan wu feng gan
34,da kai rou feng gan
35,da kai shang wu feng gan
36,da kai shang xia bai feng
37,da kai shang xia sao feng
38,da kai sen ba
39,da kai shu sheng
40,da kai shu shi feng
41,da kai shui mian
42,da kai si ji chu shi
43,da kai si ji chu shi mo shi
44,da kai song feng
45,da kai song feng mo shi
46,da kai wu feng gan
47,da kai xia wu feng gan
48,da kai xin feng
49,da kai xiu xian mo shi
50,da kai xuan zhuan song feng
51,da kai yi jian chu wu
52,da kai zhi leng
53,da kai zhi leng mo shi
54,da kai zhi re
55,da kai zhi re mo shi
56,da kai zhi kong wen
57,da kai zhi neng guan jia
58,da kai zhi neng sha jun
59,da kai zhi neng sheng dian
60,da kai zhi qing jie
61,da kai zhi wen gan
62,da kai zhuan shu wen du
63,da kai zi dong mo shi
64,da kai zuo you bai feng
65,da kai zuo you sao feng
66,di feng su
67,di su feng
68,di yi dian
69,dian fu re
70,tiao cheng zui leng
71,tiao cheng zui nuan
72,tiao da feng su
73,tiao da xin feng
74,tiao dao er shi ba du
75,tiao dao er shi du
76,tiao dao er shi er du
77,tiao dao er shi jiu du
78,tiao dao er shi liu du
79,tiao dao er shi qi du
80,tiao dao er shi san du
81,tiao dao er shi si du
82,tiao dao er shi wu du
83,tiao dao er shi yi du
84,tiao dao san shi du
85,tiao dao shi ba du
86,tiao dao shi jiu du
87,tiao dao shi liu du
88,tiao dao shi qi du
89,tiao dao zui leng
90,tiao dao zui nuan
91,tiao di ling dian wu du
92,tiao di wen du
93,tiao di yi du
94,tiao gao er shi du
95,tiao gao ling dian wu du
96,tiao gao wen du
97,tiao gao wu du
98,tiao gao yi du
99,tiao leng yi dian
100,tiao nuan
101,tiao nuan yi dian
102,tiao xiao feng su
103,tiao xiao xin feng
104,ding chu feng
105,ding shi wu rao
106,ding xiang chu wu
107,er tong fang leng feng
108,er dang xin feng
109,feng da yi dian
110,feng su da dian
111,feng su er dang
112,feng su san dang
113,feng su xiao dian
114,feng su yi dang
115,feng wang shang chui
116,feng wang xia chui
117,feng wang you chui
118,feng wang zhong jian chui
119,feng wang zuo chui
120,feng xiang shang chui
121,feng xiang xia chui
122,feng xiang you chui
123,feng xiang zhong jian chui
124,feng xiang zuo chui
125,feng xiao yi dian
126,gao feng su
127,gao su feng
128,guan bi bai feng
129,fang zhi chui
130,guan bi dian fu re
131,guan bi ding chu feng
132,guan bi ding xiang chu wu
133,guan bi er tong fang leng feng
134,guan bi fang zhi chui
135,guan bi feng ji
136,guan bi fu re
137,guan bi huan qi
138,guan bi huan qi mo shi
139,guan bi jia shi
140,guan bi jie neng
141,guan bi jun yun feng
142,guan bi kong tiao
143,guan bi kong tiao deng guang
144,guan bi mu ying feng
145,guan bi mu qing feng
146,guan bi qiang jing
147,guan bi quan wu feng gan
148,guan bi rou feng gan
149,guan bi sen ba
150,guan bi shang wu feng gan
151,guan bi shang xia bai feng
152,guan bi shang xia sao feng
153,guan bi shu sheng
154,guan bi shui mian
155,guan bi si ji chu shi
156,guan bi si ji chu shi mo shi
157,guan bi wu feng gan
158,guan bi xia wu feng gan
159,guan bi xin feng
160,guan bi xuan zhuan song feng
161,guan bi yi jian chu wu
162,guan bi zhi kong wen
163,guan bi zhi qing jie
164,guan bi zhong wen bao wen
165,guan bi zhuan xiang wen du er
166,guan bi zhuan xiang wen du san
167,guan bi zhuan xiang wen du yi
168,guan bi zuo you bai feng
169,guan bi zuo you sao feng
170,guan bi zhuan shu wen du
171,guan diao bai feng
172,guan diao dian fu re
173,guan diao ding chu feng
174,guan diao ding xiang chu wu
175,guan diao er tong fang leng feng
176,guan diao fang zhi chui
177,guan diao gan zao
178,guan diao huan qi
179,guan diao huan qi mo shi
180,guan diao jia shi
181,guan diao jing hua
182,guan diao jun yun feng
183,guan diao kong tiao
184,guan diao kong tiao deng guang
185,guan diao qiang jing
186,guan diao quan wu feng gan
187,guan diao rou feng gan
188,guan diao shang wu feng gan
189,guan diao shang xia bai feng
190,guan diao shu sheng
191,guan diao shui mian
192,guan diao si ji chu shi
193,guan diao si ji chu shi mo shi
194,guan diao wu feng gan
195,guan diao xia wu feng gan
196,guan diao xin feng
197,guan diao xuan zhuan song feng
198,guan diao yi jian chu wu
199,guan diao zhi kong wen
200,guan diao zhi qing jie
201,guan diao zuo you bai feng
202,guan kong tiao
203,guan shang xia bai feng
204,guan shang xia feng
205,guan xin feng
206,guan zuo you bai feng
207,guan zuo you feng
208,guan bi zhi neng sheng dian
209,jian xiao feng su
210,jian xiao pu tong xin feng
211,jian xiao xin feng
212,jiang di wen du
213,jing yin feng
214,jing yin feng su
215,jun yun feng
216,kai kong tiao
217,kai qi bai feng
218,kai qi chu shi
219,kai qi chu shi mo shi
220,kai qi kong tiao
221,kai qi pai feng mo shi
222,kai qi shang xia sao feng
223,kai qi tong feng
224,kai qi zhi leng
225,kai qi zhi leng mo shi
226,kai qi zhi re
227,kai qi zhi re mo shi
228,kai qi zuo you sao feng
229,kai shi chu wei
230,kong tiao da kai
231,kong tiao guan bi
232,kong tiao guan diao
233,kong tiao guan ji
234,kong tiao kai ji
235,kong tiao kai shi pei wang
236,kong tiao lian wang
237,kong tiao chong xin pei wang
238,kai xin feng
239,leng yi dian
240,nuan yi dian
241,pu tong xin feng
242,qi dong kong tiao
243,qiang jing xin feng
244,qiang li feng
245,qiang li feng su
246,qu shi mo shi
247,quan wu feng gan
248,rou feng gan
249,san dang xin feng
250,shang wu feng gan
251,shang xia bai feng
252,shang xia feng
253,sheng gao wen du
254,sheng dao zui gao
255,sheng dao zui gao wei zhi
256,si dang xin feng
257,si ji chu shi
258,si ji chu shi mo shi
259,song feng mo shi
260,tai leng le
261,tai re le
262,ting zhi shang xia bai feng
263,ting zhi shang xia sao feng
264,ting zhi bai feng
265,ting zhi zhuan shu wen du
266,ting zhi zuo you bai feng
267,ting zhi zuo you sao feng
268,xia wu feng gan
269,xin feng da dian
270,xin feng er dang
271,xin feng qiang jing
272,xin feng qiang jing dang
273,xin feng san dang
274,xin feng si dang
275,xin feng xiao dian
276,xin feng yi dang
277,xin feng zui da
278,xin feng zui da dang
279,xin feng zui xiao
280,xin feng zui xiao dang
281,xuan zhuan song feng
282,yi dang xin feng
283,you dian leng
284,you dian re
285,zai gao yi dian
286,zeng da feng su
287,zeng da xin feng
288,zhi leng mo shi
289,zhi re mo shi
290,zhi kong wen
291,zhi neng wu rao
292,zhi qing jie
293,zhong deng feng
294,zhong feng su
295,zhong su feng
296,zi dong
297,zi dong feng
298,zi dong feng su
299,zi dong mo shi
300,zui da feng
301,zui da feng su
302,zui da xin feng
303,zui xiao feng
304,zui xiao feng su
305,zui xiao xin feng
306,zuo you bai feng
307,zuo you feng
308,bang wo guan deng
309,bang wo kai deng
310,da kai dian deng
311,guan bi dian deng
312,xiao le xiao le
313,xiao xin xiao xin

View File

@ -1,49 +1,49 @@
1 TELL ME A JOKE
2 SING A SONG
3 PLAY NEWS CHANNEL
4 TURN ON MY SOUNDBOX
5 TURN OFF MY SOUNDBOX
5 TURN OF MY SOUNDBOX
6 HIGHEST VOLUME
7 LOWEST VOLUME
8 INCREASE THE VOLUME
9 DECREASE THE VOLUME
10 TURN ON THE TV
11 TURN OFF THE TV
11 TURN OF THE TV
12 MAKE ME A TEA
13 MAKE ME A COFFEE
14 TURN ON THE LIGHT
15 TURN OFF THE LIGHT
15 TURN OF THE LIGHT
16 CHANGE THE COLOR TO RED
17 CHANGE THE COLOR TO GREEN
18 TURN ON ALL THE LIGHTS
19 TURN OFF ALL THE LIGHTS
19 TURN OF ALL THE LIGHTS
20 TURN ON THE AIR CONDITIONER
21 TURN OFF THE AIR CONDITIONER
21 TURN OF THE AIR CONDITIONER
22 SET THE TEMPERATURE TO SIXTEEN DEGREES
23 SET THE TEMPERATURE TO SEVENTEEN DEGREES
24 SET THE TEMPERATURE TO EIGHTEEN DEGREES
25 SET THE TEMPERATURE TO NINETEEN DEGREES
26 SET THE TEMPERATURE TO TWENTY DEGREES
27 SET THE TEMPERATURE TO TWENTY ONE DEGREES
28 SET THE TEMPERATURE TO TWENTY TWO DEGREES
29 SET THE TEMPERATURE TO TWENTY THREE DEGREES
30 SET THE TEMPERATURE TO TWENTY FOUR DEGREES
31 SET THE TEMPERATURE TO TWENTY FIVE DEGREES
32 SET THE TEMPERATURE TO TWENTY SIX DEGREES
33 LOWEST FAN SPEED
34 MEDIUM FAN SPEED
35 HIGHEST FAN SPEED
36 AUTO ADJUST THE FAN SPEED
37 DECREASE THE FAN SPEED
38 INCREASE THE FAN SPEED
39 INCREASE THE TEMPERATURE
40 DECREASE THE TEMPERATURE
41 COOLING MODE
42 HEATING MODE
43 VENTILATION MODE
44 DEHUMIDIFY MODE
1,TELL ME A JOKE,TfL Mm c qbK
2,SING A SONG,Sgl c Sel
3,PLAY NEWS CHANNEL,PLd NoZ paNcL
4,TURN ON MY SOUNDBOX,TkN nN Mi StNDBnKS
5,TURN OFF MY SOUNDBOX,TkN eF Mi StNDBnKS
5,TURN OF MY SOUNDBOX,TkN cV Mi StNDBnKS
6,HIGHEST VOLUME,hicST VnLYoM
7,LOWEST VOLUME,LbcST VnLYoM
8,INCREASE THE VOLUME,gNKRmS jc VnLYoM
9,DECREASE THE VOLUME,DgKRmS jc VnLYoM
10,TURN ON THE TV,TkN nN jc TmVm
11,TURN OFF THE TV,TkN eF jc TmVm
11,TURN OF THE TV,TkN cV jc TmVm
12,MAKE ME A TEA,MdK Mm c Tm
13,MAKE ME A COFFEE,MdK Mm c KnFm
14,TURN ON THE LIGHT,TkN nN jc LiT
15,TURN OFF THE LIGHT,TkN eF jc LiT
15,TURN OF THE LIGHT,TkN cV jc LiT
16,CHANGE THE COLOR TO RED,pdNq jc KcLk To RfD
17,CHANGE THE COLOR TO GREEN,pdNq jc KcLk To GRmN
18,TURN ON ALL THE LIGHTS,TkN nN eL jc LiTS
19,TURN OFF ALL THE LIGHTS,TkN eF eL jc LiTS
19,TURN OF ALL THE LIGHTS,TkN cV eL jc LiTS
20,TURN ON THE AIR CONDITIONER,TkN nN jc fR KcNDgscNk
21,TURN OFF THE AIR CONDITIONER,TkN eF jc fR KcNDgscNk
21,TURN OF THE AIR CONDITIONER,TkN cV jc fR KcNDgscNk
22,SET THE TEMPERATURE TO SIXTEEN DEGREES,SfT jc TfMPRcpk To SgKSTmN DgGRmZ
23,SET THE TEMPERATURE TO SEVENTEEN DEGREES,SfT jc TfMPRcpk To SfVcNTmN DgGRmZ
24,SET THE TEMPERATURE TO EIGHTEEN DEGREES,SfT jc TfMPRcpk To dTmN DgGRmZ
25,SET THE TEMPERATURE TO NINETEEN DEGREES,SfT jc TfMPRcpk To NiNTmN DgGRmZ
26,SET THE TEMPERATURE TO TWENTY DEGREES,SfT jc TfMPRcpk To TWfNTm DgGRmZ
27,SET THE TEMPERATURE TO TWENTY ONE DEGREES,SfT jc TfMPRcpk To TWfNTm WcN DgGRmZ
28,SET THE TEMPERATURE TO TWENTY TWO DEGREES,SfT jc TfMPRcpk To TWfNTm To DgGRmZ
29,SET THE TEMPERATURE TO TWENTY THREE DEGREES,SfT jc TfMPRcpk To TWfNTm vRm DgGRmZ
30,SET THE TEMPERATURE TO TWENTY FOUR DEGREES,SfT jc TfMPRcpk To TWfNTm FeR DgGRmZ
31,SET THE TEMPERATURE TO TWENTY FIVE DEGREES,SfT jc TfMPRcpk To TWfNTm FiV DgGRmZ
32,SET THE TEMPERATURE TO TWENTY SIX DEGREES,SfT jc TfMPRcpk To TWfNTm SgKS DgGRmZ
33,LOWEST FAN SPEED,LbcST FaN SPmD
34,MEDIUM FAN SPEED,MmDmcM FaN SPmD
35,HIGHEST FAN SPEED,hicST FaN SPmD
36,AUTO ADJUST THE FAN SPEED,eTb cqcST jc FaN SPmD
37,DECREASE THE FAN SPEED,DgKRmS jc FaN SPmD
38,INCREASE THE FAN SPEED,gNKRmS jc FaN SPmD
39,INCREASE THE TEMPERATURE,gNKRmS jc TfMPRcpk
40,DECREASE THE TEMPERATURE,DgKRmS jc TfMPRcpk
41,COOLING MODE,KoLgl MbD
42,HEATING MODE,hmTgl MbD
43,VENTILATION MODE,VfNTcLdscN MbD
44,DEHUMIDIFY MODE,DmhYoMgDcFi MbD

View File

@ -1,2 +1,2 @@
# (neural network type)_(model data version)_(lable1_detection windown length_threshold for 90%_threshold for 95%)_(lable2 ...)_...
MN7_v1_english_8_0.9_0.90
MN7_v2_english_8_0.9_0.90

Binary file not shown.

View File

@ -1,496 +1,496 @@
<blk> 0
<sos/eos> 0
<unk> 0
S -3.07889
▁THE -3.40423
T -3.88725
A -3.92112
N -4.09564
D -4.11012
ED -4.1357
E -4.14799
▁OF -4.26336
Y -4.29626
AND -4.33585
S -4.3654
IN -4.3757
R -4.40673
▁TO -4.4224
-4.44313
A -4.53295
ING -4.609
P -4.6255
O -4.64585
M -4.70827
HE -4.88611
ER -4.8978
C -4.91954
G -4.92569
I -4.94376
L -4.99607
▁WAS -5.03879
RE -5.04049
▁IS -5.04139
B -5.05608
U -5.0919
IN -5.09797
AL -5.11326
F -5.14736
▁RE -5.17026
C -5.18734
W -5.20708
LE -5.2265
AR -5.22738
LY -5.25158
K -5.26829
E -5.28591
▁IT -5.29688
I -5.30127
▁FOR -5.32154
BE -5.32403
OR -5.34223
▁F -5.37851
RI -5.43106
UR -5.45431
TER -5.45866
ES -5.45872
LL -5.48135
TH -5.52073
HIS -5.55833
CE -5.56702
▁THAT -5.57592
AN -5.59288
▁W -5.6041
VE -5.60931
ST -5.62437
ENT -5.65017
H -5.65339
▁WITH -5.6706
DE -5.68992
AS -5.69156
ON -5.72969
▁G -5.74921
EN -5.78306
ON -5.78979
SE -5.79199
T -5.79727
CH -5.81344
IT -5.81754
▁ME -5.82634
ND -5.8311
IC -5.85196
IL -5.90067
LI -5.93408
ARE -5.93654
AT -5.9387
LA -5.94726
NE -5.95697
TE -5.96039
BY -5.96685
▁SO -5.9722
ATION -5.98634
▁YOU -5.9876
NG -5.99006
ME -5.99601
RO -6.02152
▁CON -6.02394
HER -6.0293
▁LA -6.03015
▁THIS -6.04492
DO -6.07943
▁B -6.08512
NOT -6.08671
SHE -6.09068
EL -6.1097
HO -6.11901
AN -6.12235
▁MA -6.12322
LE -6.12454
CK -6.1247
' -6.12699
HAD -6.13045
RA -6.13689
AD -6.14076
O -6.14214
P -6.20087
IR -6.21724
LO -6.22267
▁MO -6.22307
ION -6.22672
▁CO -6.23029
CA -6.23812
SU -6.26152
▁SE -6.26695
BUT -6.27228
FROM -6.27467
▁EX -6.28074
▁HA -6.28098
VER -6.28125
PO -6.28914
▁SA -6.2916
▁WERE -6.30425
▁NO -6.30776
ET -6.31275
BO -6.31689
PRO -6.32041
CI -6.32454
FA -6.32788
▁RO -6.32906
V -6.34332
OR -6.36826
GE -6.37052
LI -6.37484
▁WE -6.37675
MENT -6.37907
VI -6.38565
▁HAVE -6.39316
US -6.40326
▁BA -6.42561
▁LO -6.42993
THER -6.43168
ALSO -6.47489
ALL -6.50533
X -6.50653
▁K -6.52042
Z -6.52984
PE -6.53095
IVE -6.53508
ONE -6.53996
WA -6.54638
KE -6.55093
RA -6.55191
UL -6.55216
ECT -6.55335
UN -6.56427
PP -6.56492
ANT -6.56898
CO -6.57329
TED -6.57444
▁GO -6.58303
THEY -6.59422
HIM -6.59522
TI -6.60893
HO -6.61054
ITY -6.61409
PA -6.61551
▁TE -6.6184
IS -6.62109
▁HAS -6.63168
AT -6.6365
TA -6.63933
LU -6.64536
▁COM -6.64737
MP -6.64779
IES -6.64855
NE -6.6488
RY -6.65295
SP -6.66979
▁THERE -6.68432
MY -6.68952
▁US -6.69133
AM -6.70139
UN -6.71227
LD -6.71897
DE -6.72339
ATE -6.72648
IST -6.72921
IGHT -6.73344
▁WHICH -6.73445
UT -6.74595
TION -6.7483
▁PRE -6.75246
STA -6.75454
MO -6.77175
QU -6.77352
EST -6.77941
WHO -6.78426
OM -6.79011
▁EN -6.79139
RU -6.7931
UND -6.8019
▁DI -6.80283
MI -6.80652
CAN -6.8222
DA -6.83626
THEIR -6.83991
▁MAN -6.85115
FF -6.85206
IG -6.85213
ERS -6.85821
SOME -6.86373
J -6.87215
SAID -6.8771
IDE -6.88655
ENCE -6.88893
BEEN -6.88897
UGH -6.89375
▁CHA -6.89704
OL -6.90369
AS -6.90373
FE -6.90451
ALLY -6.90772
▁PER -6.91705
▁TRA -6.91809
▁DIS -6.92071
ISH -6.92646
▁OUT -6.93475
TU -6.94591
TWO -6.95006
TEN -6.95389
ANCE -6.95667
ABLE -6.95742
▁FI -6.95763
ATED -6.96277
MAN -6.96672
ARD -6.97351
IM -6.97412
▁COMP -6.97531
TO -6.97737
▁UP -6.98066
DR -6.98419
WHEN -6.99258
ID -6.99533
▁VI -6.99727
▁MAR -7.0055
MI -7.00807
OTHER -7.00956
UM -7.01895
ACH -7.02126
TIME -7.02406
VO -7.03375
AGE -7.03636
WILL -7.03689
LES -7.0385
SON -7.04028
WOULD -7.04116
▁AFTER -7.04746
DI -7.05154
HE -7.05471
CTION -7.06388
DER -7.07653
SEE -7.08034
TOR -7.08927
TING -7.09141
IA -7.09335
IAN -7.09403
RI -7.10291
▁KNOW -7.10479
GA -7.1099
WI -7.11445
MA -7.11769
NO -7.12181
LOW -7.12665
▁HU -7.13031
▁WHAT -7.13396
▁AL -7.13463
LAND -7.14441
TURE -7.15932
CA -7.17135
INE -7.17506
PRI -7.17772
SH -7.20164
▁INTO -7.20364
BU -7.21223
MORE -7.21481
▁VA -7.21647
PORT -7.2194
▁PART -7.23217
▁FIRST -7.23582
OUS -7.23769
TRA -7.24264
ITS -7.2429
HA -7.24538
ITE -7.25177
IF -7.25488
NEW -7.25627
ICAL -7.26377
TIC -7.26381
PER -7.26693
CAR -7.26944
▁RU -7.27772
ITION -7.28408
FUL -7.29445
BO -7.29669
NAME -7.30452
TON -7.30697
OVER -7.31507
TRO -7.32087
▁GRA -7.3217
▁BRO -7.32641
ACT -7.33136
▁NOW -7.34355
AST -7.35111
CU -7.35545
SHA -7.35997
▁WORK -7.36627
YEAR -7.36661
VEN -7.36903
NA -7.37128
WAY -7.38026
ONLY -7.38736
BER -7.38879
LF -7.4099
ARY -7.41035
LIKE -7.42306
COULD -7.42436
VERY -7.42967
ANY -7.43986
THESE -7.44827
PLAY -7.45178
MOST -7.45687
WARD -7.45972
TA -7.46343
THAN -7.46455
BA -7.4685
PAR -7.47386
COUNT -7.47686
▁EVEN -7.48424
VA -7.4928
▁DID -7.4948
▁DAY -7.49797
PU -7.51069
MU -7.51234
ROW -7.5153
ABOUT -7.516
▁MANY -7.51664
WELL -7.53807
JO -7.54001
UNDER -7.54177
ACC -7.55773
PE -7.56034
AGAIN -7.5605
SCHOOL -7.56228
▁MAY -7.5694
PI -7.57678
▁MADE -7.57897
DU -7.59393
RESS -7.59781
THREE -7.60489
GREAT -7.60498
YOUR -7.60601
MIN -7.60861
VING -7.61683
IOUS -7.61753
BI -7.62307
LITTLE -7.62497
COL -7.62618
CHI -7.63267
THOUGH -7.63364
LONG -7.63534
JA -7.63895
▁THROUGH -7.64648
HIGH -7.64926
LOOK -7.6521
FORM -7.65936
FIN -7.66407
KI -7.6669
HI -7.67024
NESS -7.68112
HAND -7.68612
IMP -7.68653
▁OLD -7.7006
SHIP -7.70413
▁DOWN -7.71157
▁BRI -7.71511
BEFORE -7.71936
SUCH -7.72039
HOWEVER -7.728
▁OWN -7.75294
TAKE -7.76308
GOOD -7.76874
MON -7.76942
FOUND -7.77054
GU -7.78223
EVERY -7.78939
STATE -7.7907
WHERE -7.79278
CTOR -7.79962
NEVER -7.80492
IZE -7.80764
TOWN -7.81842
BACK -7.82046
▁SHOULD -7.8246
▁UPON -7.83734
HOUSE -7.84511
IV -7.85541
▁PH -7.86099
▁PLACE -7.87672
▁MISS -7.88612
CAME -7.8866
JU -7.88931
QUI -7.90935
MUCH -7.91921
IBLE -7.93599
JUST -7.93659
FOUR -7.94758
PEOPLE -7.94857
FOLLOW -7.94871
▁MUST -7.95395
LIFE -7.96048
LARGE -7.96278
MAKE -7.9675
INCLUDE -7.96818
▁NORTH -7.97504
DURING -7.98067
▁SOUTH -7.99293
STILL -7.9973
TI -7.99869
SEVERAL -8.00559
ATIVE -8.0089
PASS -8.03179
JE -8.0351
CALLED -8.04403
THING -8.05018
SHOW -8.05214
▁THI -8.0527
WHILE -8.07217
NI -8.08629
WORLD -8.08951
THINK -8.09877
QUI -8.11332
BECAME -8.11496
MISTER -8.11977
HIMSELF -8.13559
BORN -8.13768
APPEAR -8.14342
ANOTHER -8.15291
TTLE -8.1567
TURN -8.1729
OPEN -8.18109
SMALL -8.19434
WITHOUT -8.21613
THOSE -8.24015
MUSIC -8.24442
▁SECOND -8.25535
GENERAL -8.25552
WORD -8.25754
BETWEEN -8.26687
RIGHT -8.27526
REMAIN -8.27935
TOOK -8.28184
DIRECT -8.28644
MIGHT -8.30341
NIGHT -8.31281
RETURN -8.315
BOOK -8.32654
MEMBER -8.32963
WOOD -8.33563
FRIEND -8.33879
LOCATED -8.3518
CHILDREN -8.38972
FILM -8.39793
OPERA -8.40359
CONSIDER -8.40997
SIX -8.41371
NUMBER -8.42239
QUA -8.42348
GROUP -8.45124
CLOSE -8.45242
FAMILY -8.45315
▁PUBLIC -8.46476
POWER -8.46486
BLACK -8.46615
▁NOTHING -8.46827
UNIVERSITY -8.48681
JOHN -8.49126
Q -10.4251
▁jc -3.50373
D -3.5684
Z -3.78123
-3.79998
S -3.83618
T -3.87046
L -4.10747
k -4.11347
m -4.19593
N -4.22335
c -4.22589
cND -4.27701
To -4.29056
▁cV -4.31859
gl -4.33672
gN -4.37203
▁S -4.4714
cN -4.49621
M -4.54434
K -4.63236
cL -4.67913
K -4.71478
▁F -4.74325
d -4.82918
▁i -4.85698
R -4.86703
P -4.92216
▁WnZ -5.00484
V -5.02262
b -5.03227
▁gZ -5.05364
Lm -5.10135
F -5.12035
▁P -5.12086
▁hm -5.12715
c -5.13687
h -5.15949
▁gT -5.18356
ST -5.19187
q -5.21425
▁Yo -5.22842
cS -5.22968
FeR -5.23966
o -5.26657
T -5.27106
i -5.2919
jaT -5.31665
B -5.3544
a -5.35965
eR -5.38129
▁B -5.38271
cT -5.43331
G -5.47756
gK -5.5056
cD -5.50664
hgZ -5.53485
nR -5.53996
W -5.5877
▁Wgj -5.60166
p -5.60441
cM -5.61738
cNT -5.62181
▁G -5.63642
▁aZ -5.71277
fR -5.71746
nR -5.71804
ST -5.72643
▁TnM -5.74877
v -5.77125
Tk -5.77647
Bm -5.78607
▁nN -5.81834
jfR -5.85378
f -5.85578
▁hk -5.90336
e -5.9078
▁Nb -5.90836
Rm -5.91096
gL -5.91741
▁jgS -5.91979
Dg -5.9272
Bi -5.93789
▁Rg -5.95634
▁haD -5.96296
▁aT -5.96296
s -5.97546
n -5.98883
▁NnT -6.00763
gN -6.01002
▁Wk -6.01178
dscN -6.01329
▁V -6.01564
fL -6.02194
Mi -6.02826
cZ -6.04709
Yo -6.04782
haV -6.05726
s -6.07188
a -6.07615
sm -6.08078
cK -6.09
aN -6.09715
WcN -6.10703
gT -6.11357
BcT -6.15304
aN -6.16532
▁Mm -6.16782
fS -6.1714
gR -6.18534
scN -6.18622
jd -6.1994
Wm -6.24759
u -6.25542
t -6.25927
FRcM -6.27249
kZ -6.27958
dT -6.28288
eL -6.29125
Rm -6.29208
gD -6.29997
cP -6.3241
Tm -6.32699
g -6.34756
gV -6.35953
gZ -6.36227
eR -6.37034
McN -6.3715
dN -6.37315
kD -6.37589
▁KcM -6.38682
Sm -6.38905
Do -6.3974
▁hgM -6.40994
BR -6.42479
▁Rf -6.42856
cNS -6.43498
SP -6.44143
iN -6.44191
GR -6.45766
cB -6.46027
▁p -6.46846
gS -6.47832
cST -6.48588
▁Sb -6.49067
gST -6.49181
fNT -6.49573
iT -6.49735
Wi -6.50855
WfN -6.52316
Vk -6.52443
gs -6.52706
▁PR -6.52774
▁v -6.53108
▁f -6.56235
KaN -6.5666
Li -6.57229
iD -6.58316
Kn -6.5832
TcD -6.58484
w -6.59819
haZ -6.60379
cP -6.60889
▁WcT -6.61385
▁KR -6.62303
fN -6.62737
aND -6.63035
Wgp -6.63954
WwD -6.65084
▁DgS -6.65373
cF -6.65712
mZ -6.66699
SfD -6.67477
pk -6.69479
TS -6.695
fKT -6.70052
McNT -6.70319
Dm -6.71245
▁eLSb -6.71705
eL -6.71759
▁BgN -6.72228
▁tT -6.73979
MeR -6.74077
aL -6.7427
ho -6.75134
jk -6.76713
WgL -6.77334
cBcL -6.77345
▁Rc -6.77421
aK -6.77939
cTm -6.78357
nL -6.78623
▁KcN -6.79348
fT -6.79532
▁ScM -6.80766
SP -6.8082
cq -6.80856
fRm -6.81043
nN -6.81225
DR -6.81469
▁Md -6.81943
▁gK -6.82419
▁Sd -6.83334
MaN -6.83827
▁Ld -6.84033
h -6.84414
▁Gb -6.84487
▁Lf -6.8514
fND -6.85243
PLd -6.85302
gF -6.85796
TiM -6.86458
Rd -6.86507
▁Mg -6.87118
▁Wg -6.87192
fS -6.87345
aM -6.87513
ht -6.87937
▁Dd -6.88576
Mc -6.89067
▁No -6.90141
TcN -6.90439
DgD -6.9107
▁Pk -6.91445
nT -6.91539
l -6.91848
mN -6.91959
VfRm -6.92163
▁Ma -6.92804
bN -6.94291
nP -6.94333
cG -6.96256
KS -6.96275
fST -6.96416
tND -6.96664
Df -6.9701
▁jfM -6.97647
▁LiK -6.99176
▁Wd -6.9979
tN -7.00168
▁Y -7.00423
▁m -7.00454
gM -7.00971
▁fN -7.01195
cV -7.01324
▁gTS -7.01639
aT -7.02274
eF -7.02734
cjk -7.03753
gscN -7.04204
bLD -7.0527
Pk -7.0586
▁PRn -7.06185
jfN -7.0651
▁Mf -7.07005
aKT -7.07351
SK -7.08235
▁YeR -7.08512
▁STR -7.08684
aFTk -7.08805
bZ -7.0882
Rf -7.09352
Nt -7.10726
Bk -7.10801
cLm -7.10932
aP -7.12006
iZ -7.12318
▁gNTo -7.12848
KnN -7.13285
Yc -7.13939
Tm -7.13985
Fk -7.1449
▁Pa -7.1512
KW -7.15296
BcL -7.16211
Bf -7.16276
Rb -7.1675
▁KwD -7.17276
▁cBtT -7.17381
▁MfRm -7.17527
Y -7.17661
Li -7.184
gq -7.18822
TRc -7.19102
Rd -7.21693
▁BL -7.21734
▁Sk -7.21835
bVk -7.22379
▁PnRT -7.23661
wR -7.23753
fM -7.2383
Dc -7.2417
fP -7.2455
gP -7.25885
Rb -7.2592
Lb -7.26108
fK -7.26502
▁k -7.27224
fNm -7.27675
▁LwK -7.28554
▁jmZ -7.29014
bNLm -7.29574
tk -7.29717
▁FkST -7.29888
▁WfL -7.29891
fM -7.30488
Bn -7.30592
KW -7.3139
Sm -7.32676
gF -7.33304
mc -7.34274
WnNT -7.34378
▁FR -7.34529
WkK -7.34753
▁n -7.34886
bK -7.35356
nK -7.35381
▁WfR -7.36005
j -7.37283
▁hmR -7.37391
qk -7.39067
Lm -7.39275
PeRT -7.39586
Ro -7.39659
▁TdK -7.40401
Le -7.4074
YcL -7.41016
jaN -7.41385
▁Ra -7.41443
▁cGfN -7.41565
▁vglK -7.42018
Se -7.42935
YgR -7.43003
NdM -7.43696
Si -7.44106
hi -7.44334
GwD -7.44411
LgTcL -7.44823
LcND -7.45773
MdD -7.46048
KeR -7.46645
▁GRdT -7.47876
Ba -7.48457
NfVk -7.50238
VcL -7.50301
▁Lel -7.50448
rcN -7.50475
dTcD -7.50866
qcST -7.51138
La -7.51687
FcL -7.51989
Pn -7.52134
lK -7.53701
MbST -7.54063
Wf -7.54358
MdK -7.54487
SkV -7.54717
BgG -7.55028
Dn -7.55184
cN -7.55296
▁MfNm -7.5575
DtN -7.55772
▁MnR -7.56086
cS -7.56592
▁swD -7.57011
RiT -7.57032
BgL -7.57481
BaK -7.57536
jb -7.57705
fNS -7.57997
▁NeR -7.58034
GfT -7.58184
gM -7.58286
BgFeR -7.58361
PRf -7.58469
vRo -7.58732
vRm -7.58886
Dm -7.5917
▁TRa -7.59345
haND -7.59921
MfN -7.6038
▁PRc -7.60597
MgS -7.61131
Lb -7.61746
Mn -7.63249
▁bLD -7.63333
Mcp -7.63656
Scp -7.64435
gKcL -7.64576
▁Di -7.64679
gG -7.65583
alK -7.661
DnN -7.67024
TfL -7.67744
GgV -7.68746
YwR -7.70829
SKoL -7.71139
Mb -7.71499
cPnN -7.72335
WeR -7.72428
LfT -7.72701
bN -7.76208
KdM -7.77118
McST -7.7726
▁hbM -7.78221
FtND -7.79333
▁gMP -7.80415
veT -7.81381
gGZ -7.81882
▁STgL -7.82014
fKscN -7.82577
Wn -7.83255
▁Rn -7.83329
▁PmPcL -7.85228
r -7.85566
lG -7.86083
Nd -7.8709
htfVk -7.88052
TRi -7.88154
LcV -7.88601
▁hgMSfLF -7.90396
LaST -7.9066
cWd -7.9196
Bbv -7.93391
hbL -7.93782
▁MgSTk -7.9585
Nn -7.9685
FmL -7.97302
NmD -7.97977
fKS -7.9861
▁Nf -7.9904
TkN -7.99385
sgP -7.99594
FnLb -7.99942
hfLP -8.00141
NgR -8.02016
▁mVgN -8.02157
gNKLoD -8.02707
Ycl -8.04963
SgTm -8.05047
MoV -8.06119
qf -8.06562
WgvtT -8.06755
fVkm -8.07061
Ln -8.07269
Lo -8.08834
KtNT -8.09315
▁cNcjk -8.09509
LnRq -8.09678
bPcN -8.09941
Fnjk -8.09952
FRfND -8.1047
KeLD -8.11978
WkLD -8.12246
▁WeTk -8.13249
LfFT -8.14443
TwK -8.15221
TRo -8.17328
ScMvgl -8.17768
PRg -8.17899
DwRgl -8.18843
▁SfVRcL -8.20676
Ncvgl -8.21837
Ri -8.22799
SMeL -8.2586
BgKdM -8.26814
PLaN -8.27884
eLWdZ -8.28205
▁TeK -8.29486
BwK -8.30129
PwT -8.31272
BgTWmN -8.31697
RgTkN -8.33086
aSKT -8.33259
▁BeRN -8.33271
Da -8.3384
SfKcND -8.3531
RgMdN -8.36742
qfNkcL -8.37399
PRgNS -8.3743
KcNTgNYo -8.38148
pgLDRcN -8.38604
pdNq -8.3899
FaMcLm -8.41463
KcNSgDk -8.43512
BgKeZ -8.44313
haPcN -8.46647
STRcK -8.46792
qnN -8.46846
Stv -8.47119
▁NfKST -8.48221
BgLmV -8.48721
fNmvgl -8.49723
▁WwMcN -8.50511

View File

@ -5,6 +5,7 @@
#include "esp_heap_caps.h"
#include "esp_mn_speech_commands.h"
#include "esp_mn_iface.h"
#include "flite_g2p.h"
static char *TAG = "MN_COMMAND";
static esp_mn_node_t *esp_mn_root = NULL;
@ -67,7 +68,7 @@ esp_err_t esp_mn_commands_clear(void)
return ESP_OK;
}
esp_mn_node_t *esp_mn_command_search(char *string)
esp_mn_node_t *esp_mn_command_search(char *string)
{
esp_mn_node_t *temp = esp_mn_root;
if(NULL == esp_mn_root) {
@ -93,11 +94,20 @@ esp_err_t esp_mn_commands_add(int command_id, char *string)
int last_node_elem_num = esp_mn_commands_num();
ESP_RETURN_ON_FALSE(ESP_MN_MAX_PHRASE_NUM >= last_node_elem_num, ESP_ERR_INVALID_STATE, TAG, "The number of speech commands exceed ESP_MN_MAX_PHRASE_NUM");
#ifdef CONFIG_SR_MN_EN_MULTINET7_QUANT
char *phonemes = flite_g2p(string, 1);
if (esp_mn_model_handle->check_speech_command(esp_mn_model_data, phonemes) == 0) {
// error message is printed inside check_speech_command
ESP_LOGE(TAG, "invalid command, please check format, %s (%s).\n", string, phonemes);
return ESP_ERR_INVALID_STATE;
}
#else
if (esp_mn_model_handle->check_speech_command(esp_mn_model_data, string) == 0) {
// error message is printed inside check_speech_command
ESP_LOGE(TAG, "invalid command, please check format, %s.\n", string);
return ESP_ERR_INVALID_STATE;
}
#endif
temp = esp_mn_command_search(string);
@ -119,7 +129,9 @@ esp_err_t esp_mn_commands_add(int command_id, char *string)
if (phrase == NULL) {
return ESP_ERR_INVALID_STATE;
}
#ifdef CONFIG_SR_MN_EN_MULTINET7_QUANT
phrase->phonemes = phonemes;
#endif
esp_mn_node_t *new_node = esp_mn_node_alloc(phrase);
while (temp->next != NULL) {
temp = temp->next;
@ -131,10 +143,18 @@ esp_err_t esp_mn_commands_add(int command_id, char *string)
esp_err_t esp_mn_commands_modify(char *old_string, char *new_string)
{
if (esp_mn_model_handle->check_speech_command(esp_mn_model_data, new_string) == 0) {
// error message is printed inside check_speech_command
#ifdef CONFIG_SR_MN_EN_MULTINET7_QUANT
char *phonemes = flite_g2p(new_string, 1);
if (esp_mn_model_handle->check_speech_command(esp_mn_model_data, phonemes) == 0) {
ESP_LOGE(TAG, "invalid command, please check format, %s (%s).\n", new_string, phonemes);
return ESP_ERR_INVALID_STATE;
}
#else
if (esp_mn_model_handle->check_speech_command(esp_mn_model_data, new_string) == 0) {
ESP_LOGE(TAG, "invalid command, please check format, %s.\n", new_string);
return ESP_ERR_INVALID_STATE;
}
#endif
esp_mn_node_t *temp = esp_mn_root;
ESP_RETURN_ON_FALSE(NULL != esp_mn_root, ESP_ERR_INVALID_STATE, TAG, "The mn commands is not initialized");
@ -147,6 +167,9 @@ esp_err_t esp_mn_commands_modify(char *old_string, char *new_string)
if (phrase == NULL) {
return ESP_ERR_INVALID_STATE;
}
#ifdef CONFIG_SR_MN_EN_MULTINET7_QUANT
phrase->phonemes = phonemes;
#endif
esp_mn_phrase_free(temp->phrase);
temp->phrase = phrase;
} else {
@ -277,11 +300,7 @@ void esp_mn_active_commands_print(void)
void *_esp_mn_calloc_(int n, int size)
{
#ifdef ESP_PLATFORM
void *data = heap_caps_calloc(n, size, MALLOC_CAP_SPIRAM);
if (data == NULL) {
data = calloc(n, size);
}
return data;
return heap_caps_calloc(n, size, MALLOC_CAP_SPIRAM);
#else
return calloc(n, size);
#endif
@ -302,6 +321,7 @@ esp_mn_phrase_t *esp_mn_phrase_alloc(int command_id, char *string)
phrase->command_id = command_id;
phrase->threshold = 0;
phrase->wave = NULL;
phrase->phonemes = NULL;
return phrase;
}
@ -315,6 +335,9 @@ void esp_mn_phrase_free(esp_mn_phrase_t *phrase)
if (phrase->string != NULL) {
free(phrase->string);
}
if (phrase->phonemes != NULL) {
free(phrase->phonemes);
}
free(phrase);
}
}

View File

@ -1,15 +0,0 @@
dependencies:
espressif/esp-dsp:
component_hash: 59a67ce3be799201752ebde99890b0ab947054eff6463d83e944f2d4165d6905
source:
service_url: https://api.components.espressif.com/
type: service
version: 1.4.4
idf:
component_hash: null
source:
type: idf
version: 5.0.2
manifest_hash: 1c2a956562f88dbb4682372296ee9497ceb4a13d8ecd1e49e6be10eca321dd51
target: esp32s3
version: 1.0.0

View File

@ -135,35 +135,33 @@ TEST_CASE("multinet set commands", "[mn]")
model_iface_data_t *model_data = multinet->create(model_name, 6000);
char *lang = multinet->get_language(model_data);
esp_mn_error_t *error_phrases = NULL;
esp_mn_commands_update_from_sdkconfig(multinet, model_data);
printf("MODEL NAME %s\n", model_name);
// first
if (strcmp(lang, ESP_MN_ENGLISH) == 0) {
if (strcmp(model_name, "mn5q8_en") == 0) {
TEST_ESP_OK(esp_mn_commands_add(1, "TfL Mm c qbK"));
TEST_ESP_OK(esp_mn_commands_add(2, "hicST qbK"));
esp_mn_commands_add(1, "TfL Mm c qbK");
esp_mn_commands_add(2, "hicST qbK");
} else {
TEST_ESP_OK(esp_mn_commands_add(1, "TURN ON THE LIGHT"));
TEST_ESP_OK(esp_mn_commands_add(2, "TURN OFF THE KITCHEN LIGHT"));
esp_mn_commands_add(1, "SHUFFLE MY PLAYLIST");
esp_mn_commands_add(2, "TURN OFF THE KITCHEN LIGHT");
}
error_phrases = esp_mn_commands_update();
} else if(strcmp(lang, ESP_MN_CHINESE) == 0) {
TEST_ESP_OK(esp_mn_commands_add(1, "da kai dian deng"));
TEST_ESP_OK(esp_mn_commands_add(2, "guan bi chu fang dian deng"));
esp_mn_commands_add(1, "da kai dian deng");
esp_mn_commands_add(2, "guan bi chu fang dian deng");
error_phrases = esp_mn_commands_update();
} else {
printf("Invalid language\n");
}
TEST_ASSERT_EQUAL(true, error_phrases == NULL);
// second
if (strcmp(lang, ESP_MN_ENGLISH) == 0) {
if (strcmp(model_name, "mn5q8_en") == 0) {
TEST_ESP_OK(esp_mn_commands_add(3, "TkN nN eL jc LiTS"));
TEST_ESP_OK(esp_mn_commands_add(4, "TkN eF eL jc LiTS"));
esp_mn_commands_add(3, "TkN nN eL jc LiTS");
esp_mn_commands_add(4, "TkN eF eL jc LiTS");
} else {
TEST_ESP_OK(esp_mn_commands_add(3, "TURN OFF THE LIGHT"));
TEST_ESP_OK(esp_mn_commands_add(4, "TURN OM THE KITCHEN LIGHT"));
esp_mn_commands_add(3, "TURN ON THE LIGHT");
esp_mn_commands_add(4, "TURN OFF THE LIGHT");
}
error_phrases = esp_mn_commands_update();
} else if(strcmp(lang, ESP_MN_CHINESE) == 0) {
@ -173,7 +171,6 @@ TEST_CASE("multinet set commands", "[mn]")
} else {
printf("Invalid language\n");
}
esp_mn_active_commands_print();
multinet->destroy(model_data);
esp_srmodel_deinit(models);
@ -191,27 +188,20 @@ TEST_CASE("multinet add incorrect commands", "[mn]")
model_iface_data_t *model_data = multinet->create(model_name, 6000);
char *lang = multinet->get_language(model_data);
esp_mn_error_t *error_phrases = NULL;
esp_err_t state = ESP_OK;
if (strcmp(lang, ESP_MN_ENGLISH) == 0) {
state = esp_mn_commands_add(1, "TURN ON THE LIGHT 123");
assert(state == ESP_ERR_INVALID_STATE);
state = esp_mn_commands_add(2, "TURN. OFF THE LIGHT?");
assert(state == ESP_ERR_INVALID_STATE);
esp_mn_commands_add(1, "TURN ON THE LIGHT 123");
esp_mn_commands_add(2, "TURN. OFF THE LIGHT?");
} else if(strcmp(lang, ESP_MN_CHINESE) == 0) {
if (strcmp(model_name, "mn6_cn_ac") == 0 || strcmp(model_name, "mn6_cn") == 0) {
state = esp_mn_commands_add(1, "dakai dian deng");
assert(state == ESP_ERR_INVALID_STATE);
state = esp_mn_commands_add(2, "关闭电灯");
assert(state == ESP_ERR_INVALID_STATE);
esp_mn_commands_add(1, "dakai dian deng");
esp_mn_commands_add(2, "关闭电灯");
} else {
state = esp_mn_commands_add(1, "k");
assert(state == ESP_ERR_INVALID_STATE);
esp_mn_commands_add(1, "k");
}
} else {
printf("Invalid language\n");
}
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, error_phrases == NULL);
@ -243,7 +233,7 @@ TEST_CASE("multinet add duplicated commands", "[mn]")
} else {
printf("Invalid language\n");
}
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, error_phrases == NULL);
@ -274,7 +264,7 @@ TEST_CASE("multinet print active commands", "[mn]")
}
multinet->print_active_speech_commands(model_data);
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, 1);
@ -296,7 +286,7 @@ TEST_CASE("multinet remove commands", "[mn]")
if (strcmp(model_name, "mn5q8_en") == 0) {
esp_mn_commands_remove("TfL Mm c qbK");
} else {
esp_mn_commands_remove("TURN ON THE LIGHT");;
esp_mn_commands_remove("TURN ON THE LIGHT");
}
} else if(strcmp(lang, ESP_MN_CHINESE) == 0) {
esp_mn_commands_remove("da kai dian deng");
@ -306,7 +296,7 @@ TEST_CASE("multinet remove commands", "[mn]")
esp_mn_commands_update();
multinet->print_active_speech_commands(model_data);
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, 1);
@ -326,22 +316,6 @@ TEST_CASE("multinet clear and add commands", "[mn]")
esp_mn_commands_clear();
if (strcmp(lang, ESP_MN_ENGLISH) == 0) {
if (strcmp(model_name, "mn5q8_en") == 0) {
esp_mn_commands_add(1, "TfL Mm c qbK");
} else {
esp_mn_commands_add(1, "TURN ON THE LIGHT");
}
} else if(strcmp(lang, ESP_MN_CHINESE) == 0) {
esp_mn_commands_add(1, "da kai dian deng");
} else {
printf("Invalid language\n");
}
esp_mn_commands_update();
esp_mn_commands_print();
multinet->print_active_speech_commands(model_data);
if (strcmp(lang, ESP_MN_ENGLISH) == 0) {
if (strcmp(model_name, "mn5q8_en") == 0) {
esp_mn_commands_add(2, "Sgl c Sel");
@ -357,7 +331,7 @@ TEST_CASE("multinet clear and add commands", "[mn]")
esp_mn_commands_update();
esp_mn_commands_print();
multinet->print_active_speech_commands(model_data);
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, 1);
@ -389,7 +363,7 @@ TEST_CASE("multinet modify commands", "[mn]")
esp_mn_commands_update();
multinet->print_active_speech_commands(model_data);
multinet->destroy(model_data);
esp_srmodel_deinit(models);
TEST_ASSERT_EQUAL(true, 1);