Raspberry Piのハードウェア設定が終わったので、本来の目的のキッチンタイマー作りに戻ります。 基本的な部分は出来ていて、あとは動作のフィードバック通知のためスピーカーから音を出すところで止まっていたのでその続き。 普通にビープ音を出すだけでは芸が無いので、ここはやっぱり音声でフィードバックさせるようにします。
Raspberry Piで音声合成するのにあたってメジャーな物が2つあるそうです。 まずはOpen JTalkというものを試してみる。 こちらのサイトの説明に従いapt-getでインストール、紹介されているスクリプトで喋らせようとしましたが、なんか"mgc.pdfが〜"とか出てうまくいかない。 次にこちらのサイトを参考にソースからコンパイル、インストールしてみて試してみる。 今度はうまく音声が出ましたが、ターミナルでコマンドを入力してから音声が出るまでちょっとタイムラグがあるな〜という感想。
次に AquesTalk Pi というものを試してみる。 Open JTalkに比べてインストールは簡単、例に従ってターミナルからのコマンド入力で音声出力をしようと試してみる。
- AquesTalkPi "test" | aplay
- ./AquesTalkPi "test" | aplay
2つの音声合成を試して、音質的にはOpen JTalkのほうが好みでしたが、タイムラグがあるのが難点。 これに比べAquesTalk Piはほぼタイムラグが無く音声が出てきます。今回の自分の用途ではすぐに音声が出て欲しいのでAquesTalk Piを使うことにします。
ターミナルからは上記の方法で音声が出力するので、Phtyonから出力する方法を調べる。 こちらもぐぐって、下記の用にすると出力出来るとの事。
- import os
- os.system('インストールしたディレクトリ/AquesTalkPi "んー' + u_msg + '" | aplay&')
無事音声も出るようになったので、キッチンタイマーの仕上げにかかります