====== 音声認識を利用する ======
音声認識を利用して様々な機器を操作することはスマートスピーカーの登場によってすでに一般化したと言えます。一方で音声認識を利用してなにかアプリケーションを開発したいと思った時、どのようなやり方があるでしょうか?昔は音声認識といえば京大のJuliusだったのですが、Web Speech APIを利用することで簡単に音声認識機能を自分のプログラム内に組み込むことが可能になりました。jsとかにこだわりはなく、とにかく高精度に音声認識をしたい、という場合は以下のJuliusを触ってみてください。githubでも公開されています。
* https://julius.osdn.jp
さて、このページではjsを利用してブラウザ上で手軽に音声認識を利用してみたいと思います。なにか簡単な実装目標があると良いかなと思うので、の背景色を音声認識を利用して操作可能なプログラムを開発してみたいと思います。兎にも角にも音声認識をまずどうやるかですが、MDN Web Docs(モジラによるウェブブラウザ規格マニュアル)にはすでにWeb Speech APIなるものが公開されています。
* https://developer.mozilla.org/ja/docs/Web/API/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/ を見る限りは音声読み上げしか対応しなさそうな雰囲気もありますが。
では早速スケッチしていきましょう。
====== シンプルなテンプレート ======
こちらでシンプルなテンプレートを用意しておきました.[[https://idmnyu.github.io/p5.js-speech/|p5.speech.js]]を利用したサンプルになります.このページに行くといくつかサンプルを確認することができるので,「なんだこっちを参照すればいいじゃん」と思うかもしれませんが,実際に利用するとわかりますが,微妙にかゆいところに手が届かない実装になっています.具体的には
* 音声認識をstopするメソッドが用意されていない
* continousを利用した連続音声認識だと,タイムアウトまでが非常にながく,喋る内容を順次テキスト化することが困難
といった点がよろしくないため,少しこちらで改造を加えています.音声認識を利用したアプリケーション開発はこちらのサンプルからスタートすると作りやすいとおもいます.
* 音声認識テンプレート: https://editor.p5js.org/tetsuakibaba/sketches/9qIVXpsU5
by Tetsuaki BabaSpeech Recognition Demo
status: quiet
Log