raspberry Pi で音声合成
Open JTalk はオープンソースで開発されている日本語音声合成エンジンのこと
形態素解析のMeCab
形態素解析用辞書の naist-jdic
音声合成エンジン hts_engine
を使うことで英
日本語の文章を音声として出力できる
形態素解析では
文章の中から単語を最小の単位に分解し
辞書をもとに分類したりする
Raspberry Pi では 音声合成ソフトとして
AquesTalk Pi があるけど
無償で使えるのは非営利の個人だけで
それ以外はライセンス購入が必要になる
なお Open JTalk は apt-get で簡単にインストールできる
sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001 libhtsengine1
でインストールできる
さらに、今回は書籍にあったサンプルも使ってみた
http://v7.com/raspi2/
からダウンロード
ダウンロードしたファイルを
unzip sample.zip で解凍
この中にあるファイル jtalk.sh をFileZilla で
Raspberry PI へアップロード
アップしたら権限変更
chmod 755 jtalk.sh
これでスクリプトを使うことができるようになったので
./jtalk.sh "今日はいい天気ですね"
とすると
今日はいい天気ですね
と音声がでる
つまり、
./jralk.sh “読み上げたい文章”
とすると読ませることができる
また、テキストファイルを指定して読ませることもできる
vim textfile.txt
で作成し
内容を
今日はラズベリーパイの音声入力を試した
次は音声の変更を実行してみよう
とする
これで
vim textfile.txt
とすると1行めは読まれるけど
2行めは読まれなかった
また
echo "読み上げる文章" | ./jtalk.sh
というようにパイプを使えば
echo の文章を渡すことができる
また、コマンドをバッククオート
shift + @ で出せる ` で囲むと
コマンドの実行結果を含めることができる
よく使われるものとしては
現在時刻を読ませるという方法
echo "只今の時刻は `date +%k`時 `date +%-M` 分です" | ./jtalk.sh
とすると現在時刻を読み上げる
今回は date の実行結果を “で囲むことで読み上げに使っている