[[PageOutline]] = Hello, World プログラム = 以下に Hello, World プログラムを示します。 「ハローワールド」という音声を認識すると「ハローワールド」と表示して終了するコンソールアプリケーションプログラムです。 [[Embed(main.cpp)]] 以上のプログラムでは、 * !HelloWorldGrammar という文法 * !HelloWorldProcessor というプロセッサ * !HelloWorldView というビュー を定義しています。 それぞれのクラスの動作を一つ一つ説明します。 ----- == !HelloWorldGrammar == ハローワールドという文法を受理するだけの単純な文法です。 !GrammarCommonImpl は、文法を構築するために使える共通文法クラスの実装です。 addGrammarTransition は、音声認識による状態遷移グラフを構築する !GrammarCommonImpl クラスのメソッドです。 「ハローワールド」という音声入力を受けて、始点から終点へ状態遷移する文法として構築しています。 ----- == !HelloWorldProcessor == 開始とともに !HelloWorldGrammar を文法として設定し、音声認識の結果を受けて音声認識エンジンの動作を終了させます。 ----- == !HelloWorldView == 音声認識の結果を表示します。 recognition.getText() は、音声認識した結果のテキストです。 文法で設定したテキストを取得します。 文法で設定しているテキストは、ハローワールドだけなので、ハローワールドを出力します。 ----- == main == Controller に対して、 * 音声認識エンジンに Microsoft Speech API を使ったのエンジンの指定 * !HelloWorldProcessor の指定 * !StdoutView の指定 を行っています。 controller.start で音声認識が開始します。本メソッドは、音声認識エンジンの動作が終了するまで待機状態になります。 そのため !HelloWorldProcessor の音声認識エンジンの動作終了を受けると、待機が解除されプログラムが終了するという動きになります。 また、!HelloWorldView が音声認識の結果として「ハローワールド」を出力します。 -----