音声認識に挑戦

TOP > Androidアプリ開発日誌 >  音声認識に挑戦
このエントリーをはてなブックマークに追加

音声認識に挑戦

音声認識  AndroidアプリではAndroid1.5から android.speechパッケージの RecognizerIntentクラスを使用することで音声認識を使用できます。 また、Androidの音声認識機能は、Android端末だけでなく、サーバとで処理(DSR:Distributed Speech Recognition)するため3GやWiFiなどでインターネットに接続されている必要があります。
 プログラムの動作の流れとしては ①音声認識のダイアログを開き話しかける→ ②認識ができたらダイアログが閉じられ認識結果をプログラムで取得する。 という流れになります。音声認識のサンプルソースはこちら

Intentの作成

音声認識機能を使用するには、Intent に以下のパラメーターを与えて作成します。
Intent intent = new Intent( RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
パラメーター意味
ACTION_RECOGNIZE_SPEECH 音声認識の結果を文字列(リスト)として取得できます。
ACTION_WEB_SEARCH 音声認識の結果後、ウェブ検索した結果が表示されます。

Intentの拡張設定

Intent の putExtra関数を使用することで必要に応じて細かな設定が可能になります。詳細はこちら

EXTRA_LANGUAGE_MODEL には LANGUAGE_MODEL_FREE_FORM, LANGUAGE_MODEL_WEB_SEARCH のどちらかの値を設定します。

intent.putExtra(
	RecognizerIntent.EXTRA_LANGUAGE_MODEL,
	RecognizerIntent.LANGUAGE_MODEL_FREE_FORM) ;

EXTRA_PROMPT を指定することで、音声認識ダイアログに初期メッセージを表示する事ができます。

intent.putExtra(
	RecognizerIntent.EXTRA_PROMPT,
	"メッセージ" );
作成した Intent を startActivityForResult にセットすることで、onActivityResult 関数内で結果を取得する事ができます。
startActivityForResult(intent, 0);

音声認識のサンプルソースはこちら