Speech Recognize(音声認識) API
対応状況概要
OS | ブラウザー | 英語 | 日本語 |
---|---|---|---|
Windows7 | IE11 | X | X |
Windows7 | Firefox27 | X | X |
Windows7 | Chrome33 | OK | OK |
Android4.4 | Chrome32 | OK | OK |
iOS | Safari7/Chrome33 | X | X |
Mac OS X | Safari7 | OK | OK |
Chromeブラウザー以外対応していません。 iOSは特殊な事情があるので、動作しません。
仕様
クラス
SpeechRecognition
オプション
- lang - ja-JP など言語を指定します。
- continuous - 継続的に認識するか。これをfalseにすると毎回許可しないといけなくなる。
- interimResults - 途中の認識結果を返すかどうか
SpeechRecognitionResult
- final - 最終かどうか
- length - SpeechRecognitionAlternativeの数
SpeechRecognitionEvent
- results 認識結果がすべて入っている。(continuousの場合)
- resultIndex 今回のindex番号
- timeStamp 仕様にはないけど、時間データが入っている。
確信度は、最初の1つしか持っていません。他はすべて0が返ってきます。 候補数は、Androidだと5が最大。パソコンでも20ぐらいが最大です。
文法という名称が仕様に出てきますが、どの文法を実装するべきなのかについては明言されていません。
イベント
細かく順番に発生します。
- 開始・終了
- 音声認識の開始・終了
- 音声のキャプチャーの開始・終了
- 音声が実際に開始・終了
- 音声から発話を確認して音声認識の開始・終了
- エラーが起きた時
- 認識された時
その他
終了するタイミング
ユーザーによる停止以外にも、無音が続いた(10秒ほど)、連続して音声認識した(5分ほど)で終了されます。onerror
が呼ばれて終了することもありますが、ないときもあります。ただしonend
は必ず呼ばれます。