以前の
Androidで音声認識では、RecognizerIntentクラスを単品で使っていましたが、今回はSpeechRecognizerクラスと併用。
RecognizerIntentでは、音声入力時に認識画面が立ち上がって、それはそれなりに分かりやすかったのですが、SATCHと使うと
元画面に復帰するのにSATCHの初期化(再ローディング)が起こって不便でした。
SpeechRecognizerを使うとこの過程がないのでいい感じになります。
サンプルでは、音声認識が常に待ち受け状態になるようにしていますので、認識開始のアクションが不要です。
ここでの音声認識では、「何時?」と話しかけてこれを認識してみます。
時間を答える場合、一般にはTextToSpeech(例えばN2 TTS)などを使いますが、音声が平板な感じなってしまいます。
キャラクタに初音ミクさんを使っているので、なおさら「変」な感じ。
というわけで、こちらのサイト(
あみたろの音素材工房さん)の声の素材をリソースに使わせていただきました。
40個ほどの音素材を組み合わせて、各音素材の開始と終了を検知しながら発話しています。
やりようによっては、素材数をもう少し端折れるはずですが、そこは......さぼっています(^^)。
サンプル
インストール用QRコードはページの下にあります。
音声待ち受けの画面はこんな感じ。
「今何時?」てな感じで話しかけると....
「だいたい、ごご、4じ、54ぷん、だよ」とか「だいたい、ごご、4じ、54ぷん、でーす」と応えてくれます。
ただ、音声認識はオンラインでサーバーと接続されています、要するにクラウドサービス。
なので、通信状態が少し悪くなると、さっぱり認識してくれません。
時間を置いて再チャレンジするか、スクリーンをダブル・タップしてください。タップは本来ではないのですが...。
ご注意
アプリを終了する場合は、「必ず」ハードキーの「戻る」を使ってください。
真ん中にあるホームキーを使うとSpeechRecognizerが正常に終了せず、次回起動時にSpeechRecognizerが使えません。
使えないと感じた場合は、再度ハードキーの「戻る」で終了させてください。
インストール
Target:Android 2.3.3 or later
動作確認実機:Xperia acro(docomo) Android 2.3.4
アプリをQRコードからインストールする方法はコチラを参照