ふじかわ家のページ


by mmbrothers

Open Jtalk で目覚まし時計

Open Jtalk でテキストを音声に変換してみる。で、テキストを音声に変換する事が出来ましたが、
出来た音声データをcronで定時刻に鳴らすと音声目覚まし時計になります。

この音声に、今日の天気を読み上げるようにしてみました。
例「おはようございます、今日の天気は、NNNNです。今日も一日、がんばりましょう」
NNNNの部分に毎日の天気が自動で入ります。



vi morning.sh


#!/bin/bash

wget 'http://weather.livedoor.com/forecast/webservice/rest/v1?city=67&day=today' -O weather.xml
xpath -q -e "//telop/text()" weather.xml > tenki
str1="おはようございます、今日の天気は、"
srt2=`cat tenki`
str3="です。今日も一日、がんばりましょう"
str=$str1$srt2$str3
echo $str > /var/www/test/data.txt

./ojt


天気情報はLivedoor天気情報からxmlファイルを取得
xpathコマンドでtelop要素の値を抜きだし。
(xpathコマンドを使用するため、libxml-xpath-perlをインストール)
sudo apt-get install libxml-xpath-perl


シェルに実行権限を付与
chmod +x morning.sh


morning.shからojtというシェルを呼び出してますが、その内容は、
cat ojt

#!/bin/bash
# VOICE=/usr/share/hts-voice/nitech-jp-atr503-m001
VOICE=/usr/share/hts-voice/mei_normal
DIC=/var/lib/mecab/dic/open-jtalk/naist-jdic
open_jtalk \
-td $VOICE/tree-dur.inf \
-tf $VOICE/tree-lf0.inf \
-tm $VOICE/tree-mgc.inf \
-md $VOICE/dur.pdf \
-mf $VOICE/lf0.pdf \
-mm $VOICE/mgc.pdf \
-df $VOICE/lf0.win1 \
-df $VOICE/lf0.win2 \
-df $VOICE/lf0.win3 \
-dm $VOICE/mgc.win1 \
-dm $VOICE/mgc.win2 \
-dm $VOICE/mgc.win3 \
-ef $VOICE/tree-gv-lf0.inf \
-em $VOICE/tree-gv-mgc.inf \
-cf $VOICE/gv-lf0.pdf \
-cm $VOICE/gv-mgc.pdf \
-k $VOICE/gv-switch.inf \
-s 44100 \
-a 0.56 \
-p 220 \
-x $DIC \
-ow /var/www/test/music/ojtalktmpvoice.wav \
/var/www/test/data.txt
# aplay -D hw:1,0 /var/www/test/music/ojtalktmpvoice.wav
mpc clear
mpc load OJT
mpc play


crontab -e で下記行を追加
30 06 * * 1-5 sudo /home/pi/morning.sh

[PR]
by mmbrothers | 2013-01-10 23:01 | Raspberry Pi/ラズベリーパイ