页面类型
发布状态
发布日期
文章地址
内容摘要
文章标签
文章分类
icon代码
密码
早些时候写了一篇文章《树莓派打造淡入闹钟,让电台轻轻的叫你起床》,可是现在听FM音质差不说未必也太怀旧了;最近闲下来又写了个Shell脚本配合NeteaseCloudMusicAPI实现播放网易云音乐每日推荐歌曲,并支持插播一段天气预报或者自定义语音提示;由于是纯Shell实现理论上支持运行Shell的Linux系统都能使用。
环境准备
TTS API
使用百度语音将文本转换为音频文件
Weather API
使用和风天气获取城市天气预报信息
Environment
Mplayer 播放音乐、播放天气预报以及语音类;JQ 分析API、分析Cookies并保存。
获取网易云音乐的每日歌单需要依赖 NeteaseCloudMusicAPI 安装文档:网易云音乐API
安装脚本
安装好 NeteaseCloudMusicAPI 及注册了百度语音、和风天气后,直接拉取代码库或者在 Github 获取脚本放到任意目录并根据注释修改参数。
脚本参数
只列出关键参数,完整脚本托管在 Github
主程序脚本
脚本名称:NeteaseCloudMusic 脚本参数:-weather(插播天气预报,可选)
播放音乐并插播天气预报:
./NeteaseCloudMusic -weather
修改 playermusic() 函数中 *if [ "$weather" = "-weather" ]&&[ "$1" = "1" ];then *的 1 可控制第几首播放天气(0为第一首,1为第二首以此类推)
和风天气脚本
脚本名称:Heweather 脚本参数:T天气简报/S生活指数/K空气质量
例如获取空气质量:
./Heweather K
百度语音转换脚本
脚本名称:BaiduTTS 脚本参数参数:(需要转换的文本) (播放音量,若为空则输出音频播放地址)
例如播放一段文本:
./BaiduTTS "Hello world" 50
运行脚本
修改好参数后需要给脚本添加执行权限,并测试下
定时启动
将脚本添加到 Systemd **或者 **Crontab 即可实现定时启动既闹钟的功能
Systemd
在
/lib/systemd/system
创建两个文件nano /lib/systemd/system/NeteaseCloudMusicApi.service
nano /lib/systemd/system/NeteaseCloudMusic.timer
安装 Unit
Crontab
运行命令
export EDITOR="nano" ; crontab -e -u root
在末尾添加一段代码END
How to live without music ?