美文网首页
树莓派(古德微)制作语音智能宝宝(3)--语音点播

树莓派(古德微)制作语音智能宝宝(3)--语音点播

作者: 宙仔 | 来源:发表于2020-04-24 22:33 被阅读0次

上一节,我们的智能宝宝综合了智能问答和中译英的功能,
树莓派(古德微)制作语音智能宝宝(2)--中英翻译
树莓派(古德微)制作语音智能宝宝(1)--智能问答

今天我们来实现语音点播的功能。我们采用将歌曲上传到树莓派到固定目录中,用数据库记录歌曲的信息,通过语音播报歌曲名称进行点播,有则播放,无则播报未找到。


语音点播流程图

好了,开始动手咯。
(1)上传歌曲到树莓派。
为了方便演示,这里只用了两个专辑——儿歌和故事,分别用两个文件夹存放,目录结构如下:


歌曲目录

我们通过Filezilla软件将MyMusic文件夹上传到树莓派SFTP默认的根目录下(/home/pi/)。


FileZilla
树莓派SFTP登陆的设置如下:(注意此处是SFTP,而非FTP)
主机:sftp://<树莓派IP地址>
用户名:pi #默认的用户名
密码:<树莓派登陆密码>

端口:22

(2)利用数据库存储歌曲信息。
鉴于古德微图形化编程平台内置数据库的特点,我们以“标签”的形式存储歌曲的信息——标签名为歌曲名、每个标签用列表存储歌曲的时长、地址和专辑类别。
在教程中,我们通过古德微图形化编程来将歌曲的信息录入到数据中。

写入歌曲数据库

那我们怎么样去把歌曲的信息调出来呢?从输出的调试信息我们可以看出,只需要从数据库中读取标签为歌曲名的数据——列表数据,再读取出列表中的内容即可,在本例程中,只需要读取歌曲的地址,再通过音频播放即可。


image.png

我们如何让智能宝宝识别,现在我是要求他来点播歌曲的,这个跟上一节的翻译是一样的做法,我们要去设定一个口令,在这里我们设定播放歌曲的时候,必须要播报语音:"播放"+歌曲。如:小度小度,播放虫儿飞。

延续上一节的案例,我们可以在”文字标识”的条件判断中增加一个条件:”文字标识“是否为播放,整合后的流程图如下:


整合后的流程图

设置语音点播函数:


点播函数

按照流程图对语音点播功能进行整合:


整合

好了,我们现在运行一下程序:
--小度,小度
--叮
--播放虫儿飞
--未找到虫儿飞
什么情况?未找到虫儿飞?我们之前测试过虫儿飞的播放是没有问题的。我们再来查看输出的情况~


输出查看操作文字

这里我们注意到:操作文字输出的信息是:”虫儿飞。“后面多加了一个句号”。“,因此,我们在语音识别信息的时候,将句末的标点符号去掉。


去掉句末的标点符号

将这段代码放到”输出调试信息<语音识别>“的上方。以下就是这个整合了①智能问答②中译英③语音点播三个功能的代码。


完整代码

PS:在将音乐文件写入数据库的操作,这里仅仅做一个古德微图形化操作的演示,在实际中,建议采用Python程序定时获取MyMusic文件夹中音乐文件的信息,并更新到数据库中。在此,就不再展开了。

相关文章

网友评论

      本文标题:树莓派(古德微)制作语音智能宝宝(3)--语音点播

      本文链接:https://www.haomeiwen.com/subject/alvxwhtx.html