SpeechRecognizerを使った音声認識とWebAPIで最寄検索をやってみます。

精度を上げるため、GPS機能とWi-Fiモバイルネットワークの使用を前提にしています。

ただ音声認識がうまくいかなかったり、必要なしと判断された場合用にマニュアルで操作するためのメニュもあります。

応答用のキャラクターは初音ミクさん。

声は、こちらのサイト(あみたろの音素材工房さん)の声の素材をリソースに使わせていただきました。



サンプルアプリのインストール用QRコードはページの下にあります。



初期画面はこんな感じです。



音声認識を使うタイミングは、画面の左上に「VOICE」と表示されている時です。



GPS機能やWi-Fiモバイルネットワークが使用できなくなっている場合は、エラーメッセージを発声して、キャラは以下のようになります。



エラーメッセージはこんな声です。


設定する場合は、Androidの設定で以下にチェック。





ハードキーのメニュを押してみます。



検索が正しいかどうかはGPS・Wi-Fiモバイルネットワークとコンパスの精度によります。

まず事前にコンパスが正常かどうかを確認しておきます。

スクリーンに向かって「コンパス」としゃべりかけるか、
メニュの「コンパス」をタップしサブメニュの「コンパス(非)表示」をタップします。



ミクさんがコンパスに変身します。



(近似式を使って磁気偏角補正はしていますが、あんまり頼りにならない....)

コンパスが正常ならそのままで、もし変な方向を示しているならキャリブレーションするか「コンパスを使わない」をタップしてください。

ミクさんに戻る場合は、「クローズ」としゃべるか、メニュの「コンパス(非)表示」をタップ。

音声認識を使った意味解釈は、現バージョンでは解析器を使っていません。

キーワードがセンテンスの中に含まれているかどうかと、複数キーの場合はその包含関係だけを使っています。




GPS・Wi-Fiモバイルネットワークによる測位精度を確認してみます。

位置を確認しやすい場所(例えば分かりやすい建物や交差点など)でミクさんに「ここどこ」としゃべりかけます。

メニュでは、「検索」-->「この辺りの住所」です。

測位データとWebAPIを使って現在地の住所を割り出します。

しばし考えた後、「分かった!このあたりです」と言って教えてくれます。



次に、ミクさんに「地図を見せて」としゃべりかけるか、メニュの「地図ウィンドウ」-->「地図(非)表示」をタップ。



地図を拡大する場合は、「ズームイン」としゃべりかけるか、メニュの「地図ウィンドウ」-->「ズームイン」をタップ。

位置が近いなら、GPS・Wi-Fiモバイルネットワークによる測位精度も問題ないです。

地図ウィンドウを閉じる場合は、「クローズ」としゃべるか、メニュの「地図(非)表示」をタップ。




最寄検索をやってみる



最寄の駅を探してみます。

ミクさんに「もよりのえきはどこ」みたいな感じでしゃべりかけます。

いつもの調子でしばし考えた後、「分かった!ここです」と言って教えてくれます。



駅の場所を地図で確認する場合は、「地図を見せて」としゃべりかけるか、メニュの「地図ウィンドウ」-->「地図(非)表示」をタップ。



駅までのルートを確認する場合は、「ルートを見せて」としゃべりかけるか、「ルート」ボタンをタップ。



駅の情報を知りたい場合は、「情報を見せて」としゃべりかけるか、メニュの「情報ウィンドウ」-->「情報(非)表示」をタップ。



駅があなたに対してどちらの方向にあるか確認する場合は、「どっち」としゃべりかけるか、メニュの「コンパス」-->「検索場所の方角」をタップ。

ただし、コンパスの使用を停止している場合は、スマホ端末を正しく「北」へ向けておいてください。
そうしないと、あさっての方角を教えてくれることになります。

例えば、「斜め左方向だよ」ってな感じでしゃべってくれます。



ウィンドウを閉じる場合は、「クローズ」としゃべりかけるか、「(非)表示」をタップ。



その他

最寄のラーメン屋さん

近くの寿司屋

近くの居酒屋とか飲み屋



検索対象が偏っているとお感じの方....正解です。
どれも、おっさんくさーいものばかりです、すいません。


-----------------------------------------
Thinking Timeが頻繁に出ます。



これは、マイクが拾う音を片っ端から認識対象にしているためです。

現状制限する方法がないので、これは仕様です。


-----------------------------------------


アプリを終了させる場合

「終了」や「エンド」としゃべりかけるか、ハードキーの”戻る”を押します。

真ん中のホームキーで終了させると、SpeechRecognizerが正常に終了せず、次回起動では音声認識が機能しません。
画面の左上に「VOICE」が表示されない状態になるのでわかります。



正常に終了させて再起動してください。

終了画面

「おつかれさまでした」「バイバーイ」で終了します。






ヘルプ

ヘルプを見る場合

「マニュアル」とか「取り説」としゃべりかけるか、メニュの「その他」-->「ヘルプ(非)表示」をタップ。

キーワードに反応しているので、マニュアルどおりでなくても反応する場合もあります(^^)。
別に辞書を持っているわけでもないので、どんなキーか探ってみてください。



ウィンドウを閉じる場合は、「クローズ」としゃべりかけるか、「(非)表示」をタップ。





インストール

Target:Android 2.3.3 or later

動作確認実機:Xperia acro(docomo) Android 2.3.4

アプリをQRコードからインストールする方法はコチラを参照