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 , red_0, fram_num_red_0);
15+ rec.addVoiceModel (0 , 1 , red_1, fram_num_red_1);
16+ rec.addVoiceModel (0 , 2 , red_2, fram_num_red_2);
17+ rec.addVoiceModel (0 , 3 , red_3, fram_num_red_3);
18+ rec.addVoiceModel (1 , 0 , green_0, fram_num_green_0);
19+ rec.addVoiceModel (1 , 1 , green_1, fram_num_green_1);
20+ rec.addVoiceModel (1 , 2 , green_2, fram_num_green_2);
21+ rec.addVoiceModel (1 , 3 , green_3, fram_num_green_3);
22+ rec.addVoiceModel (2 , 0 , blue_0, fram_num_blue_0);
23+ rec.addVoiceModel (2 , 1 , blue_1, fram_num_blue_1);
24+ rec.addVoiceModel (2 , 2 , blue_2, fram_num_blue_2);
25+ rec.addVoiceModel (2 , 3 , blue_3, fram_num_blue_3);
26+ rec.addVoiceModel (3 , 0 , turnoff_0, fram_num_turnoff_0);
27+ rec.addVoiceModel (3 , 1 , turnoff_1, fram_num_turnoff_1);
28+ rec.addVoiceModel (3 , 2 , turnoff_2, fram_num_turnoff_2);
29+ rec.addVoiceModel (3 , 3 , turnoff_3, fram_num_turnoff_3);
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 : red " );
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 : green " );
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 : blue " );
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 : turnoff " );
63+ default :
64+ break ;
65+ }
66+ }else
67+ {
68+ Serial.println (" recognize failed." );
69+ }
70+ delay (1000 );
71+ }
0 commit comments