SSブログ

ラズパイ2試食レポ[7]: しゃべらせてみる [Raspberry Pi]

ラズパイ関連のサイトを拝見すると、しゃべらせている先人が多くいますので、やってみましょう。
手持ちにスピーカーが無いので、イヤホンジャックにイヤホンをつないでテストしました。

◆音声出力制御
音声はオーディオ端子とHDMI端子の2系統に出力でき、それを切り替えるには以下のようにします。最後の数字が 1 がオーディオ端子、2 がHDMI端子、0 が自動判別です。


pi@raspberrypi ~ $ amixer cset numid=3 1

ボリュームは以下で調整。


pi@raspberrypi ~ $ amixer set PCM 20%

◆しゃべるひと
OpenJTalk、AquesTalkPiの2つが主なものらしいです。後者は商用だが個人・非営利利用ならライセンス料はかからないです。
どちらもしっかりしゃべるますが、なめらかなのはやはり後者でしょうか。
AquesTalkPiはこちら(http://www.a-quest.com/products/aquestalkpi.html)からダウンロードし、解凍するだけ。バイナリと辞書フォルダを同じ場所に置きます。
以下のように使います。


pi@raspberrypi ~ $ ./AquesTalkPi しゃべらせたい言葉 | aplay

ただし、このままだと、AquesTalkPiがエラーを起こした場合などに aplay がノイズを出力するので、以下のようなスクリプトをかますとよいらしいです。Nosさんのサイト(http://d.hatena.ne.jp/Nos/20150218/1424217597)より拝借しました。


#!/bin/bash
aquestalkpi=/home/pi/build/aquestalkpi/AquesTalkPi
var=`$aquestalkpi "$@" | base64; echo ":${PIPESTATUS[0]}"`
ret=(${var##*:})
data=${var%:*}
if [ $ret -eq 0 ]; then
echo $data | base64 --decode --ignore-garbage | aplay -q
else
echo $data | base64 --decode --ignore-garbage
exit $ret
fi

AquesTalkPiへのパスは適宜変更してください。これを atalk と名づけて


pi@raspberrypi ~ $ atalk -g 15 しゃべらせたい日本語

と使います。オプションはそのままAquesTalkPiへ渡ります。-g はボリューム指定(100がMax)。

◆何をしゃべらせる?
時報や天気をしゃべらせる例が多いようです。目覚まし時計代わりによいかもしれません。dateコマンドで日本語の時報テキストを作ってatalkに渡すだけでできますね。cronに仕込めば目覚まし時計になります。


pi@raspberrypi ~ $ atalk -g 20 "`date "+%B %d日 %A %H時 %M分"`です。"

上記のNosさんのサイトには天気をしゃべらせるpythonスクリプトの例があり面白いです。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。