つい朝のゴミ出しを忘れて、また来週か…ということがたまに有るので、RaspberryPiにゴミ出しの日を音声でお知らせしてもらうことにしました。
できること
5374.jpの情報をもとに、毎朝忘れずにその日のゴミ出し情報を教えてくれます。
手順メモ
1. 地元の5374.jpデータをiCal形式で取得する
5374.jpのデータをiCal形式に変換してくれる素敵サービス『Cal5374』を使って、目的の地域のゴミ収集日情報(.icsファイル)をローカルPCにダウンロードします。
2. RaspberryPiに日本語音声合成システム(Open JTalk)をインストールする
日本語の読み上げにはOPEN JTALKを使います。
$ sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
3. RaspberryPiのオーディオ端子から音を鳴らす設定をする
本体のラインへ出力
$ sudo amixer cset numid=3 1
音量の設定
$ amixer cset numid=1 95%
設定の保存
$ sudo alsactl store
4. 音声合成のコマンドをスクリプトにする
./jtalk.sh
#!/bin/sh VOICE='/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice' TMPFILE='/tmp/jtalk.wav' DIC='/var/lib/mecab/dic/open-jtalk/naist-jdic' echo "$1" | open_jtalk -m $VOICE -x $DIC -ow $TMPFILE aplay -q $TMPFILE rm $TMPFILE
ちなみに、OPEN JTALKにはデフォルトで男性の声しか入っていないので、うちではMMDagentからダウンロードしたメイちゃんの声を使っています。
5. ダウンロードしたicsファイルをRaspberryPiに転送する
$ scp ./5374.ics pi@raspberrypi:/home/pi/5374speech/
6. icsファイルから当日のゴミ情報をpythonで取得する
iCal形式のデータをpythonで扱うためにiCalenderをインストール
$ sudo pip install icalendar
pythonのスクリプト(5374speech.py)
7. crontab で定時実行を設定する
毎朝7時から9時の各15分に、ゴミ出し情報をしゃべる。
15 7-9 * * * python /home/pi/5374speech.py
8. メイちゃんのアナウンスに従ってゴミを出す
スッキリ!
コメントを残す