搜刮
打印

[Linux学堂] 『开源项目』基于STM32的智能垃圾桶之语音识播报

[复制链接]
123 | 2
跳转到指定楼层
楼主
本帖最后由 singleyork 于 2020-7-17 16:28 编辑

各人好,我是『芯知识学堂』的SingleYork。基于STM32的智能垃圾桶之成员简介>和<基于STM32的智能垃圾桶之语音判别>。



这个“语音播报模块”是集成到了我们『芯知识学堂』出的OWL Micro F1 – EXT扩展板上,主芯片利用的是WT2003S-16S这款功效壮大的高品格MP3芯片的模拟U盘版本。球迷007足球论坛。



另外,各人可以根据现实景况挑选,两个版本之间利用上有差别,这款芯片还有TF卡版本的。



由于我们这个DIY智能垃圾桶项主意语音文件对照小,兼容市面上的GD FLASH。开源。板载功放采用的是LM4890这颗MSOP8 1W功率的语音芯片通用功放,项目。这款FLASH芯片是SPI接口的,基于。板载FLASH采用的是WT25Q64A这款存储空间为64Mbit(8M byte)的存储芯片,因此。



语音播报模块的硬件局部其实很简单,在介绍完硬件局部后,足球。各人依照厂家提供的手册策画就OK了。


首先,在我们的电脑盘符里面,论坛。这个工夫,扩展板可以不消连底板),我们用Mirco USB线将扩展板跟电脑连起来(这个工夫。



这是因为我们是第一次利用这个语音播报模块,我们必要先将这个模块的FLASH格式化一下。tm32。



在格式化完成后,我们就不消忧郁自己说话不难听,这样的话,笔者要跟各人介绍的是“如何利用文字转音频文件”,tm。不过,哈哈,各人也可以挑选自己录制视频,智能。当然咯,如何制作音频,笔者先跟各人来介绍一下,在复制音频文件之前,我们就可以来复制音频文件到这个盘里面了。


笔者在将文字转音频文件的工夫,可以跟我联系,各人倘使必要制作什么音频的话,渣滓。几十块年终生利用,可能还必要自己再做剪辑。语音。笔者试用的是收费版,但是免费的会带有厂家植入的广告,这款软件可以免费试用,利用的是“闪电文字语音转换软件”这款软件。


当然咯,各人倘使有更好用的免费的软件,也是多如牛毛,市面上这类软件。


首先。



在翻开的软件界面中,无语音背景,播报。好比笔者这里设置语音类型为“轨范女生”,3a。各人可以根据自己的现实景况挑选,右侧的设置选项里面,然后在输入框内输入“可回收垃圾”,我们挑选“文字转语音”。



输入文件的目录,然后,论坛。笔者这里是在桌面建立了一个名为“文字转语音音频文件”的文件夹,好比,可以自定义。



在制作语音文件的工夫,当发现如下“导出告捷”的提示后,即可进行文字转语音,3A足球论坛。再点击“开始转换”按钮,倘使是我们想要的,我们可以先点击右下角的“试听”按钮试听一下语音的效果。



默认出产的音频文件是编制自动命名的。



好比。



依照异样的设施。



其中,主控板便会让语音播报模块应答“主人请丁宁”。这样一来,倘使语音判别模块判别告捷,当我们对着语音判别模块说出唤醒口令“猫头鹰”的工夫,也就是说,最后一个“主人请丁宁”的音频主要用于唤醒口令的应答,后面4个音频为垃圾分类。


音频文件制作好之后,这就是笔者之前命名的工夫为什么要在音频文件后面加前缀了,将这个“01 可回收垃圾”音频文件第一个复制进去,我们就要在复制音频文件的工夫,那么,倘使我们要让“01 可回收垃圾”这个音频文件的索引排在第一位,也就是说,而是根据我们复制音频文件时的先后次序递次自动生成的索引,并不是我们之前命名时的01、02、03、04、05,而看待这个SPI-FLASH中音频文件的索引来说,因为我们利用的WT2003S-16S 这个MP3芯片“指定SPI-FLASH索引播放”功效,尤其是要注意复制的先后次序递次,在复制语音文件的工夫,接上去我们就必要将音频文件复制到语音播报模块当中了。


当然咯,这样操作,然后在“CTRL+V”粘贴到语音模块所在盘符中,然后“CTRL+C”复制,那么我们也可以直接先“ALT+A”全选,倘使我们各人的音频文件跟笔者的在当地文件家中排序次序递次是一样的话。



音频文件复制完成后,我们就可以来测试音频语音播报的功效了。从原理图上我们可以看到。



我们利用USB转TTL模块来进行串口指令控制,然后议决USB转TTL模块给OWL Micro F1 – EXT扩展板供电,接上扬声器,我们必要将语音下载接口的USB拔掉,在利用语音播报功效的工夫。

语音播报模块PB11 --> USB模块RXD

语音播报模块PB10 --> USB模块TXD

语音播报模块GND --> USB模块GND

语音播报模块5V0 --> USB模块VCCIO


接上去。



这里主要是要注意两个地点,一个是“校验码”,一个是“长度”。


长度:指的是“长度+命令码+参数+校验和”的总个数;
校验码:指的是“长度+命令码+参数”的累加和的低字节;


弄明白这个指令控制的帧格式后,我们便可以议决串口助手发送十六进制的:7E 05 A0 00 01 A6 EF即可,即:“01 可回收垃圾”这个音频文件,我们倘使要让语音播报模块播放第一个音频文件,那么。



1、 翻开电脑设备管理器,找到USB转串口模块的COM号。


2、 翻开串口助手,放胆位为1,校验位为“无”,数据位为 8,波特率为9600,挑选端口号为COM5。


3、 发送和接收均勾选“16进制”,然后在“发送区1”输入7E 05 A0 00 01 A6 EF这条指令。


这个工夫,只必要在调用函数的工夫,直接计算校验码,笔者会写一个函数,是不是万分的便当?在后背的的单片机程序讲解中,只必要修正“曲目索引号”和重新计算“校验码”即可,串口助手也会返一个“00”字符。倘使我们要播放其他音频文件,同时,我们就可以听到语音播报模块在播报“可回收垃圾”音频。


议决上一篇文章<基于STM32的智能垃圾桶之语音判别>和今天的这篇文章,究竟是语音模块判别不了,但就是怎么找也找不到原因,感想自己写的程序貌似没什么题目,结果发现怎么调都不对:舵机动不了、语音不播报等,然后开始写程序,一拿到东西就直接把线连起来,很多初学者在做项主意工夫,也在教各人一种调试的设施,其实笔者在讲解语音判别和语音播报的同时,不知道各人有没有发现。


但是,那么在各个模块联调的工夫,倘使把每个模块都独立调通了,就会发现,倘使各人依照笔者的这种“分模块调试”的思绪来做的话。


在很多大型项目中,不要感想这种策画占地点且多余,包括UART口的测试点、电压测试点、电流测试点等,早就在板子上做了很多的测试点,所以,旺旺就考虑到了前期调试这一块的题目,有经验的硬件工程师在策画板子的工夫。


好了,笔者将会给各人介绍4个舵机的控制程序,在下一篇文章中,关于我们这款DIY项目中的另一个关键模块—语音播报模块的利用就介绍到这里了。


倘使你喜好我们的这个DIY项目,笔者将会给各人免费分享整个策画资料,在项目形式全部介绍完成后,接待分享、转载。





利用特权

评论回复
沙发
| 2020-7-20 08:52 | 只看该作者
谢谢分享【基于STM32的智能垃圾桶之语音识播报】

利用特权

评论回复
板凳
| 2020-9-2 11:30 | 只看该作者
楼主勤奋分享,怎么没人抬轿,赞一个

利用特权

评论回复
扫描二维码,随时随地手机跟帖
您必要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 赞扬建议 创作发明版块 请求版主

快速回复

您必要登录后才可以回帖
登录 | 注册
初级模式

论坛热帖

在线客服 快速回复 前往顶部 前往列表