10. 语音识别模块

语音识别模块,通信接口I2C。

模块上电处于休眠状态,在语音唤醒后为正常运行状态,此时状态指示灯亮蓝色。 每次唤醒触发运行时长15秒,可以重复触发。

../../_images/asr.png

模块外接扬声器播放语音识别反馈音,可通过下列命令调节反馈音音量

音量调节命令词

增大音量

减小音量

最大音量

中等音量

最小音量

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