Speech Recoginition
コマンド英単語をシステムに登録し、認識されたコマンドを処理する
これはOSXに用意されているライブラリ(関数たち)を使って簡単に実装できます。認識させたい単語(英語)たちと、認識されたコマンドを処理するオブジェクトをシステムに登録することで、システムが認識した単語に応じたコマンドメッセージをL-Cardに送ることができます。
具体的にはCocoaフレームワークのNSSpeechRecognizerクラスを使用します。このクラスのインスタンスはシステムの発話コマンド認識部分を体現しています。speechRecogがNSSpeechRecognizerオブジェクトだとして、
[speechRecog setCommands:[NSArray arrayWithObjects:@"Access", @"Run", @"Left", @"Right", @"Stop", nil]];
でコマンド"Access", "Run", "Left", "Right", "Stop"を登録し、
[speechRecog setDelegate:self];
でそれらを処理するオブジェクトがselfであることの登録ができます。
[speechRecog startListening];
で音声認識を開始すれば、システムがユーザーの発話を認識したとき(
setDelegate
で設定した)selfの
- (void)speechRecognizer:(NSSpeechRecognizer *)sender didRecognizeCommand:(id)aCmd
メソッドが呼ばれます。aCmdが認識されたコマンドの文字列を表すNSStringオブジェクトです。