(YouTube 該当箇所:31:45-34:15)
本コンテンツは、HTMLベースの実装を基本として主にWeb Speech APIのSpeechRecognitionを用いて実装した。
・SpeechRecognition - Web API | MDN https://developer.mozilla.org/ja/docs/Web/API/SpeechRecognition
音声認識系のAPIは現在では種類も増え、以前に比べて手軽に使えるようになったが、上記のSpeechRecongition APIはブラウザに実装されたAPIのため、ユーザー登録や従量課金などを気にせずに使える点が特徴である。
難点としては、実装ブラウザが少ないことで、 2021年3月現在ではChrome、Edge、WebView Android 、Chrome Androidでしか利用できない。(Firefoxはブラウザの設定からONにすると使える)
当初ブラウザにビルトインされたオフラインでの処理が走るのかと思っていたが、そんなことはなく上記のページによると、
Chrome では、ウェブページ上で音声認識を使用するとサーバーベースの認識エンジンが使用されます。あなたの音声を認識処理するためにウェブサービスへ送信するのでオフラインでは動作しません。
とのこと。未確認だが、もしかするとEdgeならオフラインで動作するかもしれない。
・Web Speech API Demonstration https://www.google.com/intl/ja/chrome/demos/speech.htm
上記のデモページより言語と地域(たとえば英語なら12地域から)を選択して試せて、精度的にはそこそこのレベルで使えることが確認できる。
APIとしては認識の成否や結果の文字列などのシンプルな実装になっているが、上記のデモページでもわかるように認識の途中経過をSpeechRecognition.continuousプロパティをtrueにすることで受け取れることが興味深い。
一方で精度に関する調整パラメーターはほとんどなく、入力音声を認識処理に渡す前に加工するといったこともできないので、チューニングがほとんど出来ない点については使用前に考慮が必要になるだろう。
音声認識の「間」を、クイズで正解を待つ緊張感に置き換えるという、着眼点にまず脱帽。そして、使う場所さえ変われば弱みも強みになる。答えればすべて正解となる、そんな肯定感あふれる世界観に惚れました。