10. 语音识别模块
语音识别模块,通信接口I2C。
模块上电处于休眠状态,在语音唤醒后为正常运行状态,此时状态指示灯亮蓝色。 每次唤醒触发运行时长15秒,可以重复触发。
模块外接扬声器播放语音识别反馈音,可通过下列命令调节反馈音音量
音量调节命令词 |
|
|---|---|
增大音量 |
|
减小音量 |
|
最大音量 |
|
中等音量 |
|
最小音量 |
10.1. “唤醒词”和“命令词”
语音识别关键词分“唤醒词”和“命令词”,唤醒词用于从休眠状态唤醒模块,进而进行“命令词”的语音识别。
唤醒词为:“小智小智”,“小爱同学”,“智能管家”。
模块唤醒后,识别到用户说的“命令词”时,会通过计算得出最大概率的识别结果:“命令词ID”,通过读取“命令词ID”,即可判别用户的命令。 模块预先设置的“命令词”,详情请查询本页最后的“语音识别命令词表”。
10.2. 自学习模式
模块预先设置的“命令词”不能满足用户需求时,可通过语音对话方式添加自定义“命令词”。 模块的自学习模式可通过语音对话的方式添加自定义命令词(最大18个)。
自学习模式命令词 |
|
|---|---|
学习唤醒词 |
|
学习命令词 |
|
重新学习 |
|
退出学习 |
|
我要删除 |
|
删除唤醒词 |
|
删除命令词 |
|
退出删除 |
|
全部删除 |
学习流程 :唤醒模块 –> “学习命令词”,根据语音提示学习,学习完成 –> “退出学习”。
10.3. 应用编程接口说明
'''
导入 asr 模块
'''
from openaie import asr
'''
类:语音识别模块
参数:
port: 端口号 -- 1~8
'''
class asr(port)
'''
方法:读取语音识别结果
返回值: 若为0,表示未识别到唤醒词或命令词
'''
asr.read()
10.4. 案例
1. 语音识别开关灯
import time
from openaie import *
rgb = rgb_led(1)
asr = asr(7) # 语音识别模块连接 端口7
while True:
res = asr.read() # 读取语音识别结果
if (res != 0) : # 非 0 为语音识别到唤醒词或命令词
print("recive cmd: ", res)
if res == 22 or res == 23 : # 对应命令词:开灯,打开灯
rgb.set(0, (50,50,50))
rgb.display()
elif res == 25 or res == 26 : # 对应命令词:关灯,关闭灯
rgb.set(0, (0,0,0))
rgb.display()
time.sleep_ms(100)
2. 语音识别控制风扇
import time
from openaie import *
asr = asr(7) # 语音识别模块连接 端口7
m = motor_fan(6) # 电机风扇模块连接 端口6
while True:
res = asr.read()
if (res != 0) :
print("recive cmd: ", res)
if res == 48 or res == 49 : # 对应命令词:开风扇,打开风扇
m.set(50)
elif res == 50 or res == 51: # 对应命令词:关风扇,关闭风扇
m.set(0)
elif res >= 52 and res <= 56: # 风速设置
m.set((res-51)*20)
print("speed: ", (res-51)*20)
time.sleep_ms(100)
10.5. 语音识别命令词表
命令词 |
命令词ID |
|---|---|
小爱同学 |
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 |
省电模式 |
130 |
智能模式 |
131 |