基于树莓派+百度语音的播报系统-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11116|回复: 2

基于树莓派+百度语音的播报系统

[复制链接]
发表于 2018-5-15 11:51 | 显示全部楼层 |阅读模式
本帖最后由 vincen20 于 2018-5-15 12:30 编辑

先来介绍下能够实现的功能 :每天整点报时(任意时刻都可以),播报实时天气预报信息,定时闹铃(播放自己喜欢的歌曲),定时提醒,自动播放指定网页的新闻,自动播放每日一句英语等 未标题-1副本.jpg

播报效果MP3
https://github.com/vincen20/RaspberryPi_VOICE_V1/blob/master/weat.mp3
目前本人实现的功能比较单一,后续计划增加OPENCV识别特定手势报时,报天气预报等,其次增加电源管理模块实现自动节能运行。
所需要的硬件材料 :
树莓派3b+(5V 2A电源、TF卡16G)、 小米蓝牙音箱
软件:
PYTHON3、MPV、百度语音API
开始前准备
首先需要安装好树莓派系统,配置好网络,这里可以使用本地通过键盘显示器操作,也可以使用VNC远程操作。这里使用VNC操作(VNC云需要解决账号被停用,参考文章)。
配对好蓝牙音箱,蓝牙需要安装单独的蓝牙管理软件,自带的不能播放
sudo apt-get install pi-bluetooth bluez bluez-firmware blueman
sudo usermod -G bluetooth -a pi
重启,测试是否能通过蓝牙配对(需要每次在右上角点击喇叭图标右键选择指定的蓝牙设备)
配置树莓派系统略。
其次就是申请百度语音API,免费的,可以继续。。。
申请地址:http://yuyin.baidu.com/
第一步首先成为开发者,根据向导选择右上角创建新应用,输入项目名称,
第二步选择服务时候选择语音合成,
第三步选择下载语音合成离线在线合成SDK,在跳出的下载页面选择语音合成下边的 在线 RestApi SDK 下  中的PYTHON下载项目 下载PYTHON语言的语音合成SDK,解压缩文件待测试用。
测试的天气预报http://qq.ip138.com/weather/sichuan/FuShun.htm


第四步随便选择一个品台,因为没有树莓派平台,选择安卓平台,输入包名com.a.a,点击下一步完成
应用创建完成后,需要开通服务,以及找到该应用的3个KEY,app id,app key ,secret key
然后根据在线语音合成 Python SDK文档 创建一个文件将自己的3个KEY信息写入文件 ,测试语音合成是否成功。
如果在目录喜爱成功生成了MP3文件,那么语音合成就成功了。
3.jpg
为了通过播放MP3文件,这里需要给树莓派安装播放器,本人选择的是MPV播放器,安装命令
sudo apt-get install mpv
测试是否安装成功,可以在命令行中测试 mpv ./song.mp3 是否播放正常。

现在就是通过PYTHON强大的网络功能抓取网页内容了,以天气预报为例子
部分网站有反爬技术,这里不做深入研究,我们找一个没有反爬技术的网页来抓取数据,简单的判断方式就是,打开网页后,通过浏览器的查看原代码,如果能找到你想要的数据
那么就可以。采用了AJAX技术或者JS等高级技术的,可以使用selenium库结合浏览器来操作。测试PYTHON获取网页的数据,以www.ip138.com提供的5天天气预报为测试。
需要通过PYTHON获取URL的HTML源代码,通过正则表达式匹配需要的天气数据。
也可以通过专门的天气预报API。这里分享一个开发者免费的http://www.heweather.com/
根据提取天气预报信息原理我们可以提供指定网站上的最近更新信息,相当于简单的爬虫。
具体代码不在此一一列出,请参考GITHUB上例程序

后面就是生产一句话,在把这句话发送到百度语音,然后在播放生成的MP3文件,就得到需要的语音文件了,
最后就是在LINUX上编写定时执行的代码,使用Crontab 命令
30 7 * * * mpv /home/pi/Desktop/music/*.mp3    #每天7.30播放歌曲、、 (可以尝试换成网络收音机)
0  7-22 * * * python3 /home/pi/Desktop/voice/weat.py #每天7点到网上10点 播报天气等 asdf.jpg

python参考代码
https://github.com/vincen20/RaspberryPi_VOICE_V1












timg (2).jpg
 楼主| 发表于 2019-3-28 13:44 | 显示全部楼层

   wx:vincen20
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 14:40 , Processed in 0.084414 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表