RaspberryPi
日本語
ラズパイ
Raspberrypi3
jtalk

Raspberry Pi3にワンライナーで時報ってもらう

■はじめに

ラズパイに時報ってもらいます。シンプルに。

■結論

echo "只今の時刻は、"`date "+%k"`"時 "`date "+%-M"`"分 "`date "+%-S"`"秒です。" | open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic/ -ow /tmp/test.wav && aplay /tmp/test.wav

これで、「只今の時刻は、23時 20分 1秒です。」としゃべってくれます。

#cron登録したいときは以下で。

* * * * * export LANG=ja_JP.UTF-8;echo "只今の時刻は、"`date "+\%k"`"時 "`date "+\%-M"`"分 "`date "+\%-S"`"秒です。" | open_jtalk -m /usr/share/hts-voice/mei/mei_normal.htsvoice -x /var/lib/mecab/dic/open-jtalk/naist-jdic/ -ow /tmp/test.wav && aplay /tmp/test.wav

■解説

echo "只今の時刻は、"`date "+%k"`"時 "`date "+%-M"`"分 "
`date "+%-S"`"秒です。"

セリフとして、「只今の時刻は、H時 M分 S秒です。」と作成。
一桁の時間は一桁になる(06秒とならない)ように。

| open_jtalk 
-m /usr/share/hts-voice/mei/mei_normal.htsvoice 
-x /var/lib/mecab/dic/open-jtalk/naist-jdic/ 
-ow /tmp/test.wav 

日本語発声の音声ファイル作成パッケージJTalkで、セリフをWAVファイル化。
-m <音響モデル> ※女性音声のMMDAgentを利用。
-x <辞書ディレクトリ>
-ow <出力WAVファイル>

&& aplay /tmp/test.wav

音声ファイルをaplayで音として出力。

※cron用は、日本語設定とecho内の%のエスケープを入れただけ。

■準備

Raspberry Pi3に日本語で喋ってもらうまで
https://qiita.com/Higemal/items/6dde8637a680bfe200ca

RaspberryPi3で初めてcrontabを使う前に
https://qiita.com/Higemal/items/5a579b2701ef7c473062

■出典/参考

Open JTalk
http://open-jtalk.sourceforge.net/

MMDAgent
http://www.mmdagent.jp/

Raspberry Pi3に日本語で喋ってもらうまで
https://qiita.com/Higemal/items/6dde8637a680bfe200ca

Raspberry Piでテキストを音声化する (Open JTalk)
http://www.taneyats.com/entry/raspi-open-jtalk

RaspberryPi3で初めてcrontabを使う前に
https://qiita.com/Higemal/items/5a579b2701ef7c473062

crontabでファイル名に日付が入ったログを吐くときはdateの%をエスケープしないとダメ
https://mochikoastech.hatenablog.com/entry/2018/08/29/221126