console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

いま、ブラウザで音声認識するなら

これは、2013/12/28時点での情報です。

ブラウザだと、こういうのがあります。

  • Speech Input API
  • Web Speech API

まあ結論から書くと、今のところはPCのしかもChromeでしか楽しめないみたい。

Speech Input API

これは、

<input type="text" x-webkit-speech>

ってするだけで使えるやつ。
Googleの検索ボックスの右端に出てるアレ。

結果は、

function inputChange(e) {
  if (e.results) { // e.type == 'webkitspeechchange'
    for (var i = 0, result; result = e.results[i]; ++i) {
      console.log(result.utterance, result.confidence);
    }
    console.log('Best result: ' + this.value); // this == input
  }
}

var input = document.querySelector('[x-webkit-speech]');
input.addEventListener('change', inputChange, false);
input.addEventListener('webkitspeechchange', inputChange, false);

ってするだけで、最も信憑性のある結果がvalueとしてテキスト入力される!すごい!w
confidenceは信憑性の度合いぽい。

このお手軽さはすごい・・PCのChromeだけをターゲットにするなら是非・・。

Web Speech API

こっちはもっと複雑(詳細にいろんなことできるという意味で)で、これ参照。

参考:Voice Driven Web Apps: Introduction to the Web Speech API - HTML5Rocks Updates

独自のUI作るとか、本格的に何か作るならこっちしか選択肢はない感じね。
でもこれも未来感あって良いね!

ただ残念ながら

でもどっちも、iOS/Androidの対応はまだのようで、PC Chrome 25以降だけでのお楽しみっぽい。

モバイルで使えたらかなりアツいんやけどねー。
はよ実装されんかなー。

iPhone5s/ISW11SCのそれぞれで、Chrome 31を確認しただけなので、もしかしたら他の端末やともしかする・・?