MENU

【Raspberry Pi】指定時間に捨てるゴミ情報を音声でお知らせする方法

こまめなゴミ捨ては、部屋をきれいに保つ一番の秘訣です。

夜に次の日のゴミを準備するのですが、疲れてると忘れがちなので、特定の時間に音声でお知らせしてくれるようにしました。

やり方は音声を読み上げるスクリプトを作成して、 cronに登録するだけです。

音がなるように設定

スピーカー等、人それぞれかと思います。音がなるようにセットしておきます。

【Raspberry Pi】pHAT DACで音を出す方法とAirPlay対応のやり方 - CGメソッド

Open Jtalk

音声読み上げソフトOpenJTalkをインストールします。

sudo apt-get update
sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001

MMDagent

男性の音声しかないので、女性音声をインストールします。

wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip

解凍

unzip MMDAgent_Example-1.7.zip

コピー

sudo cp -R ./MMDAgent_Example-1.7/Voice/mei /usr/share/hts-voice/

スクリプトの作成

nanoでjtalk.shというスクリプトを作成します。

sudo nano jtalk.sh

中身

#!/bin/bash 
tempfile=`tempfile`
option="-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
  -x /var/lib/mecab/dic/open-jtalk/naist-jdic \
  -r 0.7 \
  -ow $tempfile"
 
echo "$1" | open_jtalk $option
aplay -q $tempfile
rm $tempfile

Ctrl+X → Y → Enterで保存

-r でテキストを少しゆっくりめに読むようにしています。

※コマンドを調べる時はopen_jtalk

音声テスト

./jtalk.sh "こんにちは。音声テストです。"

参考

cronに登録

指定した時間に音声が流れるようにします。

実行権限付与 sudo chmod +x /home/pi/jtalk.sh

nanoで開きます。 crontab -e

例えば下記のような感じです。

30 7 * * * /home/pi/jtalk.sh "おはようございます。ごみ捨ての時間です。"

ゴミの日お知らせ設定

各種ゴミの日のお知らせを設定してみます。

毎月第1・3金曜日みたいな時は少し設定が面倒です。

#★可燃ゴミ(毎週 月木)
00 00 * * 1,4 /home/pi/jtalk.sh  "明日は可燃ゴミの日です。円盤やゴム、革製品も捨てましょう。"

#★不燃ゴミ(第1・3 金)
# 第1 金曜日(5月)
00 00 1-7 5 * [ "$(date '+\%w')" -eq 5 ] && /home/pi/jtalk.sh  "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。"
# 第2 金曜日(8月)
00 00 8-14 8 * [ "$(date '+\%w')" -eq 5 ] && /home/pi/jtalk.sh  "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。"
# 第3 金曜日(9、11、12月)
00 00 15-21 9,11-12 * [ "$(date '+\%w')" -eq 5 ] && /home/pi/jtalk.sh  "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。"
# 第4 金曜日(どの月でも)
00 00 22-28 * * [ "$(date '+\%w')" -eq 5 ] && /home/pi/jtalk.sh  "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。"
# 第5 金曜日(どの月でも)
00 00 29-31 * * [ "$(date '+\%w')" -eq 5 ] && /home/pi/jtalk.sh  "明日は不燃ゴミの日です。陶器、ガラス、金属、小型家電、電球も捨てましょう。"

#★プラスチック・古紙(毎週 水)
00 00 * * 3 /home/pi/jtalk.sh  "明日は古紙の日です。雑誌やダンボールも捨てましょう。"

#★びん・缶・ペットボトル(毎週 土)
00 00 * * 6 /home/pi/jtalk.sh  "明日はびん缶の日です。ゴミを捨てましょう。"

参考