35452| 6
|
[入门教程] 【语音识别与合成+Micro:bit】 第三课 智能伴读机器人 |
本帖最后由 ki123456 于 2023-4-6 10:23 编辑 第三课 智能伴读机器人 小时候你是否为背诵古诗和单词而头疼呢,伴读机器人可以帮助你实现“笔在手,书有声”,充分调动你的听觉系统,陪伴你一起学习。今天我们就动手制作一个可以自动朗读古诗和单词的智能伴读机器人,接下来一起看看如何制作吧! 功能介绍 在这个项目中,我们将学习利用中英文语音合成模块,并结合语音指令控制智能伴读机器人连续朗读单词和古诗。 “xiao mai”,唤醒伴读机器人,机器人说出提示语“主人,我在,您希望读古诗,还是单词”; “dan ci”,伴读机器人连续朗读单词和拼写单词; “gu shi”,伴读机器人连续朗读古诗。 知识点
硬件清单: 软件使用:mind+编程软件x1 知识园地 前面两课我们已经学习了智能语音技术中的语音识别技术,它实现了让机器听得懂我们在说什么。那如何让它们和我们进一步的沟通呢,除了文字表达以外,还可以让它们长出“嘴巴”,这就要用到语音合成技术啦,接下来我们就来了解一下这种技术吧。 语音合成技术 语音合成,通常又称文语转换(Text To Speech,TTS),是一种可以将任意输入文本转换成相应语音的技术。语音合成技术的工作流程通常可以分为前端和后端两个部分,前端部分负责对文本进行语言分析,提取后端模块所需要的语言学信息;而后端则负责通过一定方法生成要语音波形,实现发声。 其中,前端部分又叫语言分析部分,它需要分析输入的文本的语种和文本结构,然后统一文本语言,比如将含有123这样的数字转化为统一的语言描述,然后将文本转化为音素,最后再加入韵律、断句等预测。你可以把这个部分理解成朗诵的准备工作,想象一下当你要朗诵一段文章时,你需要确定每个字的读音、甚至要分析文体、断句,只有做好这些准备工作,才能做到有感情的朗诵它。 后端部分是语音合成的关键部分,主要有波形拼接和参数合成两种方法。以现在常用的是参数合成方法为例,它的实现过程分为训练阶段和合成阶段。在训练阶段通过提取大量录音音频数据的语音声学特征、时长信息进行上下文相关建模,在合成阶段通过时长模型和声学模型预测声学特征参数,对声学特征参数做一定处理,最终通过声码器补充恢复语音波形,生成我们听得懂的语言。 语音合成应用场景: 语音播报:当你询问手机语音机器人时间、天气时,手机合成清晰的话语,播报你所需要的信息。 文本朗读:阅读小说时,语音合成技术可以自动为你朗读小说内容,让你闭上眼睛也能遨游在天马行空的世界。 中英文语音合成模块使用 本节课我们使用的中英文合成模块,它支持I2C/UART双通讯,自带喇叭,且内置已经训练好的时长和声学模型,使用起来非常方便。下图标出了模块使用时需要注意的部分。 项目实践 了解完语音合成的基础知识和中英文语音合成模块以后,让我们一起来完成智能伴读机器人项目的制作吧。 本项目中的伴读机器人的主要功能是使用语音命令控制自动朗读单词或者诗词。使用语音命令控制我们前面已经学过了,那如何让机器人连续朗读内容呢,接下来我们就分两个内容来完成吧。 任务一:唤醒伴读机器人 在这步我们先来学习语音合成模块的使用,并结合语音识别模块,唤醒伴读机器人并完成语音互动。 任务二:连续朗读单词和诗词 在完成和伴读机器人的基本互动后,我们就可以进一步设置英文合成方式,同时利用列表,让机器人连续朗读单词和诗词。 任务一:唤醒伴读机器人 1、硬件连接 STEP1:将micro:bit插入I/O扩展板,注意micro:bit 与扩展板正确结合方式,micro:bit 的点阵屏的那一面,对着micro:bit文字方向插入,如图: STEP2:按照接线图将语音识别模块、语音合成模块和I/O扩展板接好。 2、程序设计 现在你可以通过以下步骤进行程序设计。 STEP1:Mind+软件设置 打开 Mind+ 软件(1.62 或以上版本),切换到“上传模式”,点击“扩展”,在“主控板”下点击加载“micro:bit”,在“传感器”下点击加载“语音识别模块”。 由于项目要用到语音合成模块,点击“扩展”,在“执行器”下点击加载“语音合成”模块。 STEP2:指令学习 来一起认识一下主要用到的几条指令。 STEP3:流程图分析 3、程序示例 4、运行效果 首先检查模块上的“通讯模式开关”是否拨至IIC处,然后上传程序到主控板,等待一会,说出“xiao mai”,可以听到“主人,我在呢”等语音,看到点阵屏显示笑脸。 任务二:连续朗读单词和诗词 通过上一个任务,我们已经可以使用语音合成模块实现伴读机器人基础语音互动,接下来我们就来看看如何让机器人有一定时间间隔的连续朗读英文单词和中文诗词。 1、程序设计 实际上我们所用的语音合成模块中的【合成语音】指令,可以完成中文和英文语音的合成。但是,朗读的过程中不同的诗词或单词间需要有一定的时间间隔。现在,以英文单词连续朗读为例,开始逐步设计程序。 (1)如何连续朗读单词? 要连续朗读多个单词,我们要使用到“列表”知识,存储多个单词,然后放入【合成语音】指令。 首先,在“变量”分类下,找到“新建列表”,点击并建立【列表单词】。新建后,指令区会出现对应的列表名以及相关指令。 然后,我们需要使用【删除单词的全部项目】指令清空列表,并修改【将“东西”加入单词】指令的内容,将单词存入列表。下图展示了添加单词的程序以及过程中列表内容的变化。 正如上图,单词存入列表后,每个单词都对应着一个序号(即第几项元素),我们可以利用序号和读取列表元素指令【单词的第1项】将列表里的单词读取出来,然后合成对应的语音。 朗读所有单词,只需要建立【序号】变量完成对于列表中单词序号的控制,朗读次数即合成次数由【列表的项目数】决定。 (2)如何切换英文的发音方式? 伴读机器人英文朗读模式下,有两种发音方式,即“字母”和“单词”,使用时,只需要在合成语音之前添加【设置单词发音方式字母】指令就可以很方便的实现了。 现在,我们已经实现了英文单词的连续朗读,古诗连续朗读的实现方法类似,现在不妨自己动手试一试。另外,你也可以结合语音识别模块给单词和古诗两种朗读模式分别添加语音命令,控制伴读机器人自动切换模式朗读。 2、程序示例3、运行效果 点击运行,上传代码,为了保证语音识别模块以及语音合成模块的正常运行,可以用USB线给扩展板供电。 将上面的程序上传到主控板后,说出“dan ci”,在提示语音响起后开始连续朗读单词;说出“gu shi”,在提示语音响起后开始连续朗读古诗。 项目小结 通过智能伴读机器人项目,我们了解了语音合成的基础单元,学习了中英文语音合成模块的使用方法。 在人工智能领域,语音合成是非常重要的部分,在我们的生活中也随处可见,大家不妨仔细观察和思考一下在你的周围什么地方用到了语音合成技术,用你手边的语音合成模块又怎么实现呢。 知识点回顾 1、了解语音合成技术的基本工作原理 2、掌握语音合成模块的使用方法 3、掌握列表的基本使用 项目拓展 通过今天的项目相信你已经对语音合成模块有了一定的认识,现在你不妨结合语音识别和语音合成模块,收集一些日常对话常用的关键词,制作一个简单的聊天机器人,亲自动手“做”一个和你谈天说地的“朋友”吧。 |
332.91 KB, 下载次数: 3581
项目程序
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed