2012年3月12日月曜日

iOS 5.1 から利用できるようになった音声認識のAPI(非公開)を使う





UIDictationController という非公開な APIを使うと発声をトリガーにして音声入力を開始できるとのこと。デモでは一定時間入力を受け付けた後、その内容を認識させて文字情報として結果を得る。デモプログラムが Githubで公開されているので 4S実機で試してみた。

起動後に何か話すと認識が開始される。「JR新宿駅」と発音してみた。

出た。
面白い。キーボードを出さずに発声をトリガーにして音声入力を起動できるのは使い勝手がいい。

なおフライトモードにしてネットワークが繋がらないようにすると、インジゲータが回ったままになってしまう。これは音声認識自体は Appleのサーバで行われているためだと思われる。利用には Siri同様ネットワーク接続が必須となる。※iOS5.1で追加されたキーボード経由の音声認識も同様で、ネットワークにつながっていない時はボタン自体が表示されなくなる。

UIDictationControllerは名前はシンプルなので公開APIとしてあっても違和感が無いのだが、非公開なのはサーバサービスを利用する為かもしれない。今後サーバ側のサービスが十分な負荷に耐えられて、十分な品質が出せると Appleが判断したらAPIが公開されるかもしれない。



関連情報


音声認識だけなので Siriほどはプライバシー面で問題無いようにも思えるが、ユーザの明確な同意なしにサーバへ情報(それがなんであっても)を送付するのは問題がありそう。というか、既にキーボード経由での音声入力は標準でサポートされているので、この辺りは iOS5.1自体の利用規約に含まれているのだろう。標準キーボードを経由する限り開発者はその点は気にしなくてもいいか。


0 件のコメント:

コメントを投稿