ゴミ収集日をRaspberryPiに音声でお知らせしてもらう #5374jp

つい朝のゴミ出しを忘れて、また来週か…ということがたまに有るので、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. メイちゃんのアナウンスに従ってゴミを出す

スッキリ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です