ウェブアプリにウェイクワードを5分で追加 ノート

ウェブアプリにウェイクワードを5分で追加

このガイドでは、WebAssembly SIMD128 を使用して、Web ブラウザでオンデバイスのウェイクワード検出器(「Hey Assistant」)を実装する方法を詳述します。このアプローチにより、クラウド API の遅延、リクエストごとの課金、プライバシーの懸念が解消され、オーディオはユーザーのデバイス上に留まります。開始するには、最新のブラウザ、マイク、およびセキュアなサーバー(HTTPS または localhost)が必要です。SDK は npm または CDN 経由でインストールでき、サイズは約 275 KB で、ほとんどのアイコンフォントよりも小さいです。セットアップには、開始ボタンとステータス表示を備えた HTML シェルが含まれ、マイクアクセス用にセキュアに提供されます。次のステップは、WakeWordEngine を初期化し、事前トレーニング済みの 100 KB の「Hey Assistant」モデルをロードし、検出しきい値を設定することです。マイクオーディオは、最適な検出品質を確保するために、AudioContext を使用して 16 kHz モノラルでキャプチャされます。検出のコアは、audioprocess イベントリスナー内で、固定サイズのオーディオチャンク(Int16 PCM サンプル)をエンジンにプッシュすることです。検出されたウェイクワードは、タイムスタンプとスコアとともにコンソールログをトリガーし、画面上のステータスを更新します。エンジンは、単一の発話からのスパム検出を防ぐために、独自のクールダウンを管理します。ユーザーは、Float32 サンプルを選択して入力形式をカスタマイズしたり、感度に合わせて検出しきい値を微調整したりできます。しきい値を下げると感度が向上しますが、誤検出が増加する可能性があります。一方、しきい値を上げると誤検出が減少しますが、より小さな発話を見逃す可能性があります。モデルは、デフォルトのしきい値 0.9 で、高い精度と再現率を誇ります。この記事では、機能的なデモのための完全なコピー&ペースト可能なコード例を提供します。 「Hey Assistant」以外にも、カスタムフレーズや言語は有料プランで利用でき、SDK はネイティブモバイル(iOS、Android)および Linux/エッジデバイス(Raspberry Pi)にも拡張されます。SDK のラッパーはオープンソース(Apache-2.0)ですが、WebAssembly ランタイムとモデルの重みはプロプライエタリですが、SDK の一部として再配布が許可されています。