みなさまこんにちは!tsutsumiと申します。

突然ですが、こちら、先日(2010年12月4日)とある勉強会にて発表した際の資料です。

iPhone SDKで利用できる音声認識ライブラリ(Pocket Sphinxのラッパー)VocalKitについて紹介しています。

中身を読むのが面倒な方のために、下記に内容を抜粋します!

『勇気をください』

「勇気をください」と言うと、勇気の出るエピソードが表示されるiPhoneアプリ。
音声認識を使っているので、ちゃんと「勇気をください」といわないと怒られます。

20110306083504.pngのサムネール画像
AppBankさんへの寄稿記事
AppStore

VocalKitとは?

オープンソースの音声認識エンジン、Pocket Sphinxのラッパー
https://github.com/KingOfBrian/VocalKit

使い方

録音を開始する

[vk startListening];

認識を開始する

[vk postNotificationOfRecognizedText];

認識結果を受け取る

(NSNotificationが飛んでくる)

単語辞書の記述方法

  • 単語名 音素1 音素2 音素3 . . .
  • 同じ単語を複数の発音で定義したい場合は(2)とか(3)とかつける
me	M IY
encourage EH N K ER IH JH
encourage(2) IH N K ER AH JH

認識結果

NSNotificationのUserInfoプロパティに認識結果が入ってくる。
NSDictionary *dict = [notification userInfo];	
NSString *phrase = [dict objectForKey:VKRecognizedPhraseNotificationTextKey];
NSNumber *score  = [dict objectForKey:VKRecognizedPhraseNotificationScoreKey];	

辞書作成のコツ

単語数が多いと、処理も重いし認識率も悪い
  1. まず標準の辞書で、認識結果をためしてみる(sayコマンド便利)
  2. 出てきた単語だけで辞書を再構成する


自分で作るとかなり大変な音声認識機能ですが、VocalKitを使うと超簡単にiPhoneに実装できてしまうので、ぜひぜひお試しください!

HTML5飯