Home Assistant向け Voice Satellite カード
概要
Voice Satellite Card for Home Assistant は、ブラウザを直接ウェイクワード検出器(音声サテライト)にすることを目的としたカスタムLovelaceカードです。ブラウザ内での起動語検出により、ユーザーは物理的にHome Assistantのダッシュボードに触れることなくAssistを呼び出せます。ローカルでの検出によりプライバシーが向上し、ウェイクワードが検出されるまで音声を送信しない設計が期待されます。インストールはHACS経由か手動でカードをリソースに追加するだけで、タブレットや壁掛けタッチパネルをハンズフリー音声端末に変える用途に最適です。
リポジトリの統計情報
- スター数: 9
- フォーク数: 1
- ウォッチャー数: 9
- コミット数: 9
- ファイル数: 5
- メインの言語: JavaScript
主な特徴
- ブラウザ内でのウェイクワード検出(ローカル検出によるプライバシー保護)
- Home Assistant Assist と連携して音声入力をハンドオフ
- HACS 対応(hacs.json を含むため簡単に導入可能)
- 単一の軽量スクリプト(voice-satellite-card.js)でシンプルに組み込める
技術的なポイント
Voice Satellite Card はフロントエンド(ブラウザ)側で起動語を検出し、Home Assistant 側の Assist 機能へ音声を受け渡す役割を果たします。実装上の重要点は以下の通りです。
- マイク入力の取得: ブラウザの getUserMedia と Web Audio API を介してマイクをキャプチャします。これによりリアルタイム音声ストリームにアクセスが可能で、継続的な音声監視ができます。HTTPS が必須で、ユーザーによるマイク許可が必要です。
- クライアント側ウェイクワード検出: ウェイクワード検出はブラウザで行われるため、サーバーやクラウドに常時音声を送らずに済み、プライバシーと帯域の節約につながります。JavaScript や WebAssembly ベースの軽量検出エンジン(一般的には小型のニューラルネットワークやテンプレートマッチングを用いる)を動かすことで実現します。起動語検出後にのみ音声データを送信することで誤送信のリスクを減らします。
- Home Assistant との連携: 検出後は Home Assistant の Assist API(フロントエンドの既存機能)へ音声を渡し、既存の音声認識やアシスタント処理のワークフローに接続します。これにより既に構成した TTS や STT、スマートホーム操作との統合がシームレスに行えます。
- 軽量化と単一ファイル構成: リポジトリは voice-satellite-card.js という単一ファイルを中心に構成され、Lovelace のカスタムカードとしてリソース登録するだけで利用できます。package.json と hacs.json を備えており、HACS を通じた配布やバージョン管理にも対応しています。
- ブラウザ互換性と制約: ブラウザごとの音声APIサポート状況、バックグラウンドでの動作制限(モバイルOSのスリープやタブの停止)、CPU負荷やバッテリー消費といった課題があります。特に低消費電力デバイスでは検出精度やレスポンスをチューニングする必要があります。さらに、マイクアクセスの可否やノイズ環境によってはウェイクワードの誤検出や検出漏れが発生します。
- セキュリティとプライバシー考慮: ローカル検出はプライバシーに有利ですが、検出後に送信される音声の取り扱い(Home Assistant 側の保存・外部STT連携先への転送等)については設定と運用で注意が必要です。また、ブラウザ経由での音声送信は暗号化された接続で行うことが推奨されます。
これらの技術的特徴により、Voice Satellite Card は既存の Home Assistant 環境を拡張して、物理的な専用デバイスを用意せずとも複数の画面を簡易な音声端末に変える実用的な手段を提供します。導入時はブラウザ互換性やハードウェア性能、ネットワーク設定(HTTPS)の確認を行ってください。
プロジェクトの構成
主要なファイルとディレクトリ:
- LICENSE: file
- README.md: file
- hacs.json: file
- package.json: file
- voice-satellite-card.js: file
まとめ
ブラウザで動作する起動語検出を活用し、手軽にプライバシー重視の音声サテライトを実現する実用的なカスタムカードです。
リポジトリ情報:
- 名前: Voice-Satellite-Card-for-Home-Assistant
- 説明: Transform any browser into a voice-activated satellite for Home Assistant’s Assist. This custom card enables wake word detection directly in your browser, turning tablets, wall-mounted displays, or any device with a microphone into a hands-free voice assistant.
- スター数: 9
- 言語: JavaScript
- URL: https://github.com/jxlarrea/Voice-Satellite-Card-for-Home-Assistant
- オーナー: jxlarrea
- アバター: https://avatars.githubusercontent.com/u/309902?v=4