23.Picognizer

Picognizer: 電子音の検出および認識のためのJavaScriptライブラリ

Picognizerは、JavaScriptのみで記述された、電子音検出・認識のためのオープンソースライブラリです。

ゲーム音、録音し再生された人間の声や音楽、電子機器の通知音などの検出を行えます。

機械学習は用いておりません。Webブラウザ単体で高速に動作します。

PC/Mac/AndroidのFirefoxが推奨環境です。

デモ(PC/Mac/AndroidのFireFoxで動作確認)

https://qurihara.github.io/picognizer/script.html?cri=48&surl=https://rawgit.com/qurihara/picognizer/gh-pages/scripts/bg_red.js&src=https://rawgit.com/Fulox/FullScreenMario-JSON/master/Sounds/Sounds/mp3/Coin.mp3&frame=0.04&dur=0.01

スーパーマリオブラザーズのコイン取得音を検出する例です。動作するコンピュータにスーパーマリオブラザーズの音声がマイク入力される状況にした後、Picognizeボタンを押すと検出が開始されます。playボタンを押すと、コイン取得音(検出対象音)が再生されるので、検出度合いをチェックできます。検出されるとブラウザの背景が赤く変わります。fireボタンを押すと、検出時の挙動をチェックできます。スライダを動かすと、検出を判定する閾値を設定できます。

srcパラメータで検出対象の音源を指定します。mp3やwavなどが扱えます。検出時に実行するJavaScriptのURLをsurlパラメータで指定します。

https://github.com/qurihara/picognizer/blob/gh-pages/scripts/bg_red.js

を参考に記述してください。setup()がページロード時に一度だけ実行され、onfire()が毎回の検出時に実行されます。

その他の認識パラメータの記述方法等はGitHubの方をご参照ください。

ソースコード

ソースコードはGitHubにあります。そちらに使い方もかいてあります。

アルファ公開中で、活用事例・ノウハウの収集をしています。開発でわからないことがありましたら @qurihara までお気軽にご相談ください。可能な限りご支援申し上げます。