1+ #include " Maix_Speech_Recognition.h"
2+ #include " voice_model.h"
3+
4+ SpeechRecognizer rec;
5+
6+ void setup ()
7+ {
8+ pinMode (LED_RED, OUTPUT);
9+ pinMode (LED_BLUE, OUTPUT);
10+ pinMode (LED_GREEN, OUTPUT);
11+ rec.begin ();
12+ Serial.begin (115200 );
13+ Serial.println (" init model..." );
14+ rec.addVoiceModel (0 , 0 , hongse_0, fram_num_hongse_0); // 36
15+ rec.addVoiceModel (0 , 1 , hongse_1, fram_num_hongse_1); // 20
16+ rec.addVoiceModel (0 , 2 , hongse_2, fram_num_hongse_2); // 23
17+ rec.addVoiceModel (0 , 3 , hongse_3, fram_num_hongse_3); // 21
18+ rec.addVoiceModel (1 , 0 , lvse_0, fram_num_lvse_0); // 20
19+ rec.addVoiceModel (1 , 1 , lvse_1, fram_num_lvse_1); // 37
20+ rec.addVoiceModel (1 , 2 , lvse_2, fram_num_lvse_2); // 19
21+ rec.addVoiceModel (1 , 3 , lvse_3, fram_num_lvse_3); // 26
22+ rec.addVoiceModel (2 , 0 , lanse_0, fram_num_lanse_0); // 19
23+ rec.addVoiceModel (2 , 1 , lanse_1, fram_num_lanse_1); // 21
24+ rec.addVoiceModel (2 , 2 , lanse_2, fram_num_lanse_2); // 28
25+ rec.addVoiceModel (2 , 3 , lanse_3, fram_num_lanse_3); // 22
26+ rec.addVoiceModel (3 , 0 , guandeng_0, fram_num_guandeng_0); // 26
27+ rec.addVoiceModel (3 , 1 , guandeng_1, fram_num_guandeng_1); // 29
28+ rec.addVoiceModel (3 , 2 , guandeng_2, fram_num_guandeng_2); // 33
29+ rec.addVoiceModel (3 , 3 , guandeng_3, fram_num_guandeng_3); // 29
30+ Serial.println (" init model ok!" );
31+ }
32+ void loop ()
33+ {
34+ int res;
35+ res = rec.recognize ();
36+ Serial.printf (" res : %d " , res);
37+ if (res > 0 ){
38+ switch (res)
39+ {
40+ case 1 :
41+ digitalWrite (LED_RED, LOW); // power on red led
42+ digitalWrite (LED_GREEN, HIGH);
43+ digitalWrite (LED_BLUE, HIGH);
44+ Serial.println (" rec : hongse " );
45+ break ;
46+ case 2 :
47+ digitalWrite (LED_GREEN, LOW); // power on green led
48+ digitalWrite (LED_RED, HIGH);
49+ digitalWrite (LED_BLUE, HIGH);
50+ Serial.println (" rec : lvse " );
51+ break ;
52+ case 3 :
53+ digitalWrite (LED_BLUE, LOW); // power on blue led
54+ digitalWrite (LED_RED, HIGH);
55+ digitalWrite (LED_GREEN, HIGH);
56+ Serial.println (" rec : lanse " );
57+ break ;
58+ case 4 :
59+ digitalWrite (LED_RED, HIGH);
60+ digitalWrite (LED_GREEN, HIGH);
61+ digitalWrite (LED_BLUE, HIGH); // power off all leds
62+ Serial.println (" rec : guandeng " );
63+ default :
64+ break ;
65+ }
66+ }else
67+ {
68+ Serial.println (" recognize failed." );
69+ }
70+ delay (1000 );
71+ }
0 commit comments