需求
希望每天早上上班之前可以自动语言报告下今天的天气情况
准备
树莓派3
音响(前面已经配置了音响)
环境
python3
获取天气信息
本次我们使用的是墨迹天气,我住在浦东,就获取浦东的天气,浦东墨迹天气。
源代码地址:https://github.com/apanly/pi3Robot/blob/master/jobs/tasks/weather/index.py
文字转语音(TTS)
我选择了一个快速可以实现,拿起来就可以用的一个Http Api。我从百度语音演示页面通过开发者工具发现这个api的,拱大家使用。
http://tts.baidu.com/text2audio?idx=1&tex=你好,我是编程浪子&cuid=baidu_speech_demo&cod=2&lan=zh&ctp=1&pdt=1&spd=4&per=4&vol=5&pit=5
然后根据mplayer 直接播放这个网址就可以啦
定时任务
使用linux的crontab
45 8 * * * export ops_config="production" && python manage.py runjob -m weather/index
总结
通过抓取 墨迹天气的天气信息,然后使用 百度的语音合成Api 生成 语音内容,然后使用mplayer 播放。为了每天定时提醒,借用了Linux的crontab
彩蛋
关于文字转语音,还有软件可以实现,不用依赖api。那就是espeak
安装espeak
$ sudo apt-get install espeak
使用
$ espeak -vzh “hello world” $ espeak -vzh “你好,编程浪子”
缺点就是声音有点假