所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开

第三课 会说话的语音合成模块

Really Really 2021-04-19 21:39:19

引言

      我们认识了语音识别模块,只要在程序里设置好候选识别句,它就能识别到我们所说的关键词,从而做出相应的反应。就像小度,我们让它调大音量它就可以做出音量调整。但是,当我们说“小度小度”,小度就会说“我在”,它又是怎么说话的呢?

      本课,我们将认识语音合成模块,学习语音合成模块的用法,完成倒车雷达实验。

projectImage

一、 语音合成

      语音合成也叫文语转换(Text-To-Speech),简称TTS,简单理解就是“让机器说人话”,它是人机交互中必不可少的一个环节。

      语音合成技术的应用场景非常广泛,如公交车语音报站器、排队机、阅读听书、导航软件等。

projectImage
projectImage

      随着语音合成技术的快速发展,所生成的语音会越来越自然生动,也会越来越有情感表现力,满足越来越多的用户需求,实现用声音改变生活的美好愿景!

二、语音合成模块

1.语音合成模块简介

      中英文语音合成模块,是一款以Gravity I2C或UART作为连接接口的模块。该模块采用由科大讯飞公司设计的 XFS5152CE “语音合成”芯片,可实现中文、英文语音合成。并集成了语音编码、解码功能,可支持用户进行录音和播放;除此之外,还创新性地集成了轻量级的语音识别功能,支持30个命令词的识别。

      在程序中添加需要合成的文本,设置音量、语速、语调、音色和单词发音方式,再将程序下载进主控中,语言合成模块就能按照对应的设置发音,说出我们能听懂的语言。

projectImage
projectImage

2.语音合成模块接线方式

projectImage

3.语音合成模块相关程序指令

      语音合成模块总共有下方5条指令,其中,第1条是模块初始化。第2条可以设置需要合成的语音,可以输入中文或英文,其中英文有两种发音方式:字母和单词,运用第5条指令设置。如果使用到大量的文字播放,可调用第3条指令,将文字存储于flash以减少对内存的占用,注意储存时应设置字符串变量类型。第4条指令可以设置所合成语音的音量、语序、语调和音色。

projectImage

三、倒车雷达实验

      当我们在倒车时,车后方有一些视线盲区,可能会导致车辆与障碍物碰撞,造成不必要的损失。如果在车后方安装一个超声波传感器,检测盲区范围的事物,车与事物到达一定距离就会报警,以提示驾驶人停车,这就是倒车雷达的原理。

我们在以前的学习中运用蜂鸣器进行提醒,但只能依靠蜂鸣器的节奏或音调进行判断,如果运用语音合成模块,就能准确地知道车离后方障碍物的距离。

1. 接线图

projectImage

2. 切换到“上传模式”。

projectImage

3. 点击左下角“扩展”按钮,进入扩展库界面。选择“主控板”选项卡下Arduino Uno。

projectImage

4. 在“用户库”选项卡下搜索“语音合成模块”,点击加载扩展库。

projectImage

5. 编写程序

projectImage

6. 调试

      以下为调试视频。

四、想象无极限

      运用语音合成模块,我们还能创造哪些东西来解决生活中的问题呢?

projectImage
projectImage

关注公众号,查看更多精彩!

Makelog作者原创文章,未经授权禁止转载。
3
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
|
[[c.comment_content]]