TTS相信大家都有所耳闻,就是文字转语音,即语音合成。可以理解是个朗读机器人,我给他文字他给我阅读出来。听起来非常爽吧,懒得看书,找个机器人给我读书….
今天带大家体验一个TTS硬件模块,看看硬件模块语音合成效果如何
效果视频:需要准备的东西和工具
材料:
Nodemcu(ESP8266)
扬声器
按钮
工具:
电烙铁
windows 10 PC电脑
软件:
arduino
python3
系统结构及流程:
按钮会触发一个低电平,ESP8266得到这个触发事件,去调用API获得一首随机唐诗,将数据通过串口发送给TTS模块,TTS模块通过喇叭诵读唐诗。
TTS_B719的背面很清晰,按照标识连接即可。黄色框选处连接TTS_B719的电源,红色框选处连接TTS_B719的串口。蓝色框选处连接按钮。
https://github.com/chinese-poetry/chinese-poetry/tree/master/json
2. json到sqlite转换工具
https://github.com/animalize/QuanTangshi/blob/master/tools/ok_make_db.py
3. 繁体转简体
https://github.com/skydark/nstools/tree/master/zhtools
4. flask框架
https://palletsprojects.com/p/flask/
API部分使用flask框架。
5.arduino 的 esp8266 支持库
在arduino的首选项中,增加如下内容:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
打开开发板管理器,搜索esp8266并安装。
克隆本项目:https://github.com/my-products/tangshi,进入 api/json2sqlite
目录,执行 python3 get.py 把json数据库转为sqlite。
然后到api目录,执行 python3 web.py 开启服务。
git clonehttps://github.com/my-products/tangshi.git
cd tangshi
cd api
cdjson2sqlite
python3get.py
cd ..
python3web.py
在浏览器中访问 http://localhost:5000/json 可以随机获得一首唐诗(json格式)
该固件中,API调用的http://106.12.133.66:5000/text/gbk是我临时的服务器地址,没准儿什么时候会停止,所以建议大家还是使用自己的API。
遇到的问题及解决方法:
utf8格式的文本tts语音合成模块不认。去卖家店铺看了一下详细说明,发现这个模块支持的是ansi编码,解决的方法有下边两种:
方法1:ino源文件以ansi编码保存
方法2:输出ansi编码给串口
使用python3,在控制台可以通过.encode(“ansi”)进行转换。但是,linux下似乎无效,提示找不到这个ansi编码。在linux下,可以使用.encode(“gbk”)来获得ansi字符。
所以,API中也提供了ansi和gbk两种方式调用。如访问 http://localhost:5000/text/gbk 随机获得一首唐诗(gbk格式)。总结:
和各种云计算平台提供的TTS相比还是有差距的…,30元的模块,要什么自行车
–end–
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览214863 人正在系统学习中 相关资源:文字智能朗读转语音软件v2.5中文免费绿色版-其它代码类资源-CSDN…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!