2024-5-16 11:20:01 [显示全部楼层]
9851浏览
查看: 9851|回复: 1

[教程] 基于行空板的校园语音导航装置

[复制链接]

基于行空板的校园语音导航装置

项目介绍

语音识别技术是一种能让计算机理解和执行人类的语音指令的技术,它可以帮助机器“听懂”人类的语言。语音识别为我们和机器的交互提供了一种新的方式,比如语音导航,当你对麦克风说出要去的地方,智能设备就能显示出前往的路线。本项目我们就来用集成了语音识别技术的语音识别模块,制作一个校园语音导航装置,通过说话快速找到要去的校园地标。

基于行空板的校园语音导航装置图1

1 项目功能

本项目将制作一个校园语音导航装置,模仿生活中的语音助手工作过程,实现语音唤醒装置,并使用设置好的语音命令,控制行空板屏幕显示语音命令中地点的路线指示。
项目分为下面两个实操过程:

任务一:语音唤醒装置。通过语音命令唤醒装置,让装置进入工作状态。

任务二:语音控制显示路线。设置指定地点语音命令,控制行空板显示语音命令以及对应路线指示。

2 硬件清单

基于行空板的校园语音导航装置图24

3 软件清单

Mind+编程软件(下载地址:https://www.mindplus.cc

基于行空板的校园语音导航装置图2

任务一:唤醒装置

和生活中我们见到的语音助手一样,要控制装置,必须先唤醒装置。如何唤醒呢?接下来我们就来一起看看吧。

1 连接硬件

首先,将语音识别模块通过4P白色胶线连接到行空板IIC接口上。

基于行空板的校园语音导航装置图5

注意1:将语音识别模块上的接口开关拨到IIC接口,喇叭开关拨到SPK1内置喇叭上。

注意2:语音识别模块的介绍,参见附录。

基于行空板的校园语音导航装置图3

然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。同时,语音识别模块响起欢迎语音。

基于行空板的校园语音导航装置图4

2 准备软件

按照下面步骤,设置Mind+软件编程方式为 Python图形化编程,并完成行空板的加载和连接。

基于行空板的校园语音导航装置图6

3 编写程序

编写程序,通过语音命令唤醒装置开始识别命令,并在行空板上显示唤醒信息。

先加载语音识别模块操作相关指令。点击“扩展”,选择“用户库”,在搜索框中输入“语音识别”,点击加载“Gravity语音识别&合成模块”。

基于行空板的校园语音导航装置图7

由于语音识别模块扩展库属于用户库,需要使用到“pinpong初始化”库完成模块的引脚初始化。“pinpong初始化”库位于“扩展库”的“pinpong库”分类下,按下图查找并点击加载。

基于行空板的校园语音导航装置图10

接下来,就可以按照“初始化语音识别模块 → 识别并保存结果 → 判断识别结果是否为唤醒词”的流程编写程序。

基于行空板的校园语音导航装置图9

这里需要说明的是,在唤醒词ID指令中,唤醒词有三个选项,我们先使用固定关键词“小爱同学”完成装置的唤醒。

基于行空板的校园语音导航装置图8

当然,为了更加方便直观的看到装置已被唤醒,可以添加适当文字提醒。完整示例代码如下:

基于行空板的校园语音导航装置图11

4 运行程序

点击运行按钮,运行程序,终端显示模块的初始化过程。

基于行空板的校园语音导航装置图12

程序运行后,行空板显示“叫我小爱同学”(唤醒词提示),对着语音识别模块的麦克风说出“小爱同学”,语音识别模块亮起蓝色灯,响起提示语,行空板屏幕显示“已唤醒”。

基于行空板的校园语音导航装置图13

5 小试牛刀

刚才是使用固定唤醒词唤醒装置的,能不能自己给装置起个“名字”,用来唤醒装置呢?

我们可以用语音控制模块学习自定义唤醒词,然后修改程序就可以用自己定义的唤醒词唤醒装置了。

提示1:控制模块学习自定义唤醒词步骤如下:

(1)唤醒模块。对准板载麦克风说出“小智你好”或“小爱同学”(固定唤醒词),模块响起回应词,蓝色指示灯亮起,唤醒成功。

基于行空板的校园语音导航装置图15

(2)学习唤醒词。说出“学习唤醒词”,然后根据模块语音提示说出要学习的唤醒词三遍,如“小麦”。

(3)如果提示“学习模板超过上限”表示已学习过自定义唤醒词,此时需要删除已学习唤醒词。说出“我要删除”,模块询问“你要删除的是唤醒词还是命令词”,然后说出“删除唤醒词”,删除完毕。重新学习唤醒词。
提示2:要修改的核心代码:

基于行空板的校园语音导航装置图14

任务二:语音控制显示路线

通过唤醒,装置已经可以开始识别其它命令词了。现在我们可以设置语音命令,控制行空板屏幕显示对应位置的线路。

1 学习自定义命令词

首先,先来根据学校的地点确定要使用的命令词和学习顺序,可以用表格记录这些信息(如下表)。
序号        位置(命令词)
1        教学楼
2        食堂

序号 位置(命令词)
1 教学楼
2 食堂

接下来,按照下面的步骤控制语音识别模块学习自定义命令词:
(1)唤醒模块。对着模块麦克风说出已学习的唤醒词或固定唤醒词,模块响起回应词,蓝色指示灯亮起,唤醒成功。

基于行空板的校园语音导航装置图17

(2)删除已学习命令词。说出“我要删除”,模块询问“你要删除的是唤醒词还是命令词”,然后说出“删除命令词”,删除完毕。
(3)学习命令词。说出“学习命令词”,然后根据模块语音提示分别学习“教学楼”和“食堂”两个命令词。
(4)说出“退出学习”,即可退出命令词学习。

2 编写程序

编写程序,识别自定义命令词,控制显示对应地点的路线指示图片。

自定义命令词的识别需要使用 学习的命令词的第几个自定义ID,依照次序分别选择两个自定义命令,分别对应“教学楼”和“食堂”路线,并在行空板屏幕上显示对应文字和图片。示例代码如下。

基于行空板的校园语音导航装置图16

注意:行空板上显示的图片需要提前放入程序文件夹中(放入方法如下图)。

基于行空板的校园语音导航装置图18

最后,为了使装置更加完整,可以在开始和唤醒时加入对应的背景图片进行显示。完整示例程序如下:

基于行空板的校园语音导航装置图19

3 运行程序

点击运行按钮,运行程序。行空板显示唤醒词提示语和校园背景,对着语音识别模块麦克风说出自定义唤醒词,语音识别模块响起唤醒成功提示语,行空板屏幕显示“已唤醒”和当前位置提示。
说出“教学楼”,语音识别模块响起执行成功提示语,行空板屏幕显示“教学楼”和路线图。
说出“食堂”,语音识别模块响起执行成功提示语,行空板屏幕显示“食堂”和路线图。

基于行空板的校园语音导航装置图20

4 小试牛刀

请尝试为你的装置设置一个彩蛋,语音控制模块学习一个你自己的语音命令词,用来让屏幕显示制作人或其它你想显示的图片(使用素材图片或者自己上网搜索)。

基于行空板的校园语音导航装置图21

提示:补充示例代码如下。

基于行空板的校园语音导航装置图22

附录 语音识别模块介绍

本项目使用的语音识别模块支持I2C和UART两种通讯方式,采用双麦克风收音。自带训练好的语音识别模型库,使用的时候程序会自动处理语音并在模型库中进行匹配,你可以用内置的语音命令控制,也可以学习自定义的命令。同时,模块也自带喇叭,能通过播放对应的语音给予及时的识别反馈,实现不用编程只通过说话即可完成对模块的设置。

下图标出了模块使用时需要注意的部分:

基于行空板的校园语音导航装置图23

模块通电后,电源指示灯常亮红色;模块成功唤醒后,唤醒指示灯亮起蓝色灯,等待到达休眠时间(可用程序设置),蓝色灯自动熄灭。

基于行空板的校园语音导航装置图25

另外,模块可识别命令分为唤醒词和命令词。唤醒词是指唤醒模块进入工作状态的命令,固定唤醒词有两个:“小智你好”和“小爱同学”,可自定义一个唤醒词。

命令词包含学习词、自定义命令词和固定命令词。其中,学习词可用于控制模块学习自定义的命令,常用的学习词如下表:

学习词 学习词
学习唤醒词 我要删除
学习命令词 删除唤醒词
重新学习 删除命令词
退出学习 退出删除
全部退出

对于自定义命令词,模块支持自定义17个;模块学习自定义命令次时需要先说出唤醒词,再说出“学习命令词”,然后根据语音提示说出学习命令词完成对应命令词的学习。需要强调的是,不管是识别还是学习命令,模块都需要先被唤醒,才能正常工作。




图片43.png

基于行空板的语音导航装置.zip

2.47 MB, 下载次数: 351

刘睿鹏  初级技师

发表于 2024-5-20 12:24:13

基于行空板的校园语音导航装置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail