p5js:11.speech-recognition

音声認識で操作する

音声認識を利用して様々な機器を操作することはスマートスピーカーの登場によってすでに一般化したと言えます。一方で音声認識を利用してなにかアプリケーションを開発したいと思った時、どのようなやり方があるでしょうか?昔は音声認識といえば京大のJuliusだったのですが、Web Speech APIを利用することで簡単に音声認識機能を自分のプログラム内に組み込むことが可能になりました。jsとかにこだわりはなく、とにかく高精度に音声認識をしたい、という場合は以下のJuliusを触ってみてください。githubでも公開されています。

さて、このページではjsを利用してブラウザ上で手軽に音声認識を利用してみたいと思います。なにか簡単な実装目標があると良いかなと思うので、Canvasの背景色を音声認識を利用して操作可能なプログラムを開発してみたいと思います。兎にも角にも音声認識をまずどうやるかですが、MDN Web Docs(モジラによるウェブブラウザ規格マニュアル)にはすでにWeb Speech APIなるものが公開されています。

見ていただくとわかりますが、2021年3月9日時点で、未だに実験的な機能であることが明記されています。ブラウザ互換性一覧で確認するとこの機能が動作するのは、ChromeかEdgeのみとなり、FirefoxやSafariではWeb Speech APIは未実装です。ただしこの前のAppleの発表によって、Safariは11.3以降からこのWeb Speech APIがサポートされることがアナウンスされました。素晴らしいですね。https://developer.apple.com/safari/features/ を見る限りは音声読み上げしか対応しなさそうな雰囲気もありますが。

では早速スケッチしていきましょう。

音声認識(日本語もできる)のサンプルがすでにあります。下記のgithubのページをご覧ください。

音声認識機能を利用した応用例として、challengeableを制作しました。

Challengeableは音声認識区分によって会話を録音し、ユーザの「噛み」をその場で検証するためのツールです。「いま〇〇っていってなかった?」をその場で手軽に確かめることができるようになります。汎用的な波形編集ソフトウェアではどの部分で噛んだのかをすぐに見つけることが困難で、即座に該当箇所を再生するには熟練の技術が必要とされています。そこで本システムでは、自動音声認識区切りを参考にして、即座に噛んだであろう箇所を見つけ、ワンクリックで録音箇所を再生することを可能としました。

詳しくはgithubのページを参照してください。

  • /home/users/2/lolipop.jp-4404d470cd64c603/web/ws/data/pages/p5js/11.speech-recognition.txt
  • 最終更新: 2021/03/09 20:44
  • by baba