2785|4

155

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

基于树莓派的“语音点歌台”设计制作 [复制链接]

 
“开源硬件”是指“与自由及开放原始码软件相同方式设计的计算机和电子硬件”,目前比较流行的开源硬件是Arduino、树莓派和掌控板等等。通过Python代码编程或是“积木”式模块语句编程,可以进行创意十足的各种小发明、小创造,比如设计制作一个“语音点歌台”,实现语音唤醒并根据歌曲(或歌手)名称来播放对应的MP3歌曲。
1.实验器材及连接
实验器材包括树莓派及古德微扩展板各一块,全向麦克风一个,音箱一个,LED灯一支。
首先是安装扩展板,正确对准树莓派的四角并小心均匀用力下按;接着,将全向麦克风插入树莓派USB接口,将音箱插入音频输出圆孔,再将LED灯(“长腿正、短腿负”)插入5号插孔;最后,树莓派通电启动操作系统(如图1)。

2.准备工作:将MP3素材文件复制到树莓派中

运行Windows的“远程桌面连接”,进入树莓派操作系统后再点击“文件管理器”进入home/pi目录;新建一个名为MP3的文件夹,将准备好的十个MP3音乐文件(经剪辑处理后只保留了歌曲某片段)复制、粘贴(如图2),待用。
3.古德微机器人“积木”模块语句的编程
通过360浏览器访问古德微机器人网站(http://www.gdwrobot.cn/),登录自己的账号后点击“设备控制”按钮,进入“积木”编程区开始进行程序的编写:
(1)编写控制LED的“LED闪烁”函数

为了实现在语音唤醒后控制LED灯闪烁发出反馈信号,从左侧“函数”中选择并新建一个名为“LED闪烁”的函数;接着,从“智能硬件”-“常用”中选择“控制‘2’号小灯‘亮’”,修改对应LED的GPIO编号为“5”;然后再增加一个“等待0.2秒”的模块语句,作用是控制LED灯持续亮0.2秒;最后,添加“控制‘5’号小灯‘灭’”,完成5号LED灯闪烁一次的效果(如图3)。
(2)“Wakeup”函数的初始化操作
从“人工智能”-“语音识别”中选择“小度小度关键词语音唤醒,请创建一个Wakeup新函数”模块语句,作用是当检测到麦克风有“小度小度”关键词信号时控制程序去调用执行“Wakeup”函数。
接着,新建一个名为“Wakeup”的函数,第一个模块语句是“播放本地音频‘/home/pi/temp/ding.mp3’”,也就是播放/home/pi/temp/ding.mp3文件(发出“叮”的一声响);然后调用执行“LED闪烁”函数,二者共同起到“Wakeup”函数被“唤醒”(运行)的提示作用。

接着再建立两个变量,分别命名为“语音输入”和“文字识别”;从“人工智能”-“语音识别”中选择“将‘3’秒的语音输入保存到‘/home/pi/temp/record.mp3’”模块语句,将它赋值给“语音输入”变量,作用是将麦克风捕获到的语音数据合成为“record.mp3”并存放于“/home/pi/temp”中;再将“文字识别”变量赋值为“把语音‘语音输入’转换为文字”,完成对“record.mp3”音频文件(变量“语音输入”的值)的语音转文字识别;然后,添加一条“输出调试信息‘文字识别’”模块语句,作用是在LOG调试区输出变量“文字识别”的结果(如图4)。
(3)“Wakeup”函数的多分支选择结构主体

由于之前准备了十首MP3音乐文件,因此需要建立一个十分支的“如果…执行…否则如果…执行…”选择结构,各自对应一首MP3音乐;每个分支的结构都是对麦克风监测并进行了文字识别后的结果进行判断,如果有匹配的关键词则播放所对应的MP3音乐,以第一个分支为例:判断条件是一个“或”结构,即“从文本‘文字识别’寻找第一个出现的文本”是否有“成都”或是“赵雷”,只要满足一个就认定条件成立,通过“播放本地音频‘/home/pi/MP3/成都.mp3’”模块语句来播放赵雷的《成都》MP3音乐。其它的九个分支均是如此,要么是将演唱者的姓名(比如周杰伦)和歌曲名(比如“稻香”)作为关键词;要么是将歌曲中的多个分词作为关键词,尤其是歌名较长时,比如“我是不是该安静地走开”所对应的关键词是“是不是”、“安静”和“走开”,只要识别出一个关键词就会播放这首MP3音乐文件(如图5)。
如果之前准备的素材多于十个的话,可以在此将分支结构进行“扩充”,提炼出合适的关键词并与MP3音乐文件对应起来即可。程序编写结束后,点击右上方的“保存”按钮将它保存为“语音点歌台”。
3.测试树莓派“语音点歌台”的运行效果

打开LOG调试信息区,点击“连接设备”按钮(出现五个绿色对勾表示连接成功)后再点击“运行”按钮,尝试对着麦克风说:“小度小度”(语音唤醒),音箱会先“叮”地响一声,LED灯也会闪烁一下;接着再说“赵雷”(或者“成都”),LOG区显示输出“赵雷”,同时音箱也响起了《成都》的旋律;再测试,先说“小度小度”再说“恋曲”(或者“1990”、“恋曲1990”),LOG区显示输出“恋曲”的同时,音箱响起了《恋曲1990》的旋律。对其他的一些关键词进行测试,比如“挪威的森林”、“像我这样的人”、“周杰伦”和“我爱你中国”等等(如图6),音箱中都会播放对应的MP3歌曲。


 

演示视频

这就是在树莓派上通过古德微机器人的“积木”式编程实现的“语音点歌台”,可以根据自己的爱好来准备不同的MP3音乐文件素材,并且要在编程时设置好对应的关键词,大家不妨一试。

山东招远  牟晓东

640?wx_fmt=png (1.5 KB, 下载次数: 0)

640?wx_fmt=png

最新回复

楼主了解得很深呀,研究了不少 期待进一步分享   详情 回复 发表于 2021-7-28 16:07

赞赏

1

查看全部赞赏

点赞(1) 关注
 
 

回复
举报

1942

帖子

2

TA的资源

版主

沙发
 

古德微机器人的“积木”式编程感觉还挺好玩的,需要付费吗?

 
 
 

回复

6828

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

树莓派能玩的还很多

能运行Windows的“远程桌面连接”么

点评

论坛搜搜看,印象里好像看过某个帖子里有写过  详情 回复 发表于 2021-7-28 14:44
 
 
 

回复

1万

帖子

2853

TA的资源

管理员

4
 
Jacktang 发表于 2021-7-28 13:48 树莓派能玩的还很多 能运行Windows的“远程桌面连接”么

论坛搜搜看,印象里好像看过某个帖子里有写过

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(中级)

5
 
楼主了解得很深呀,研究了不少
期待进一步分享
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表