ローカル音声認識・音声合成

Home Assistantの音声サテライト:家の中だけで聞いて答えるローカル音声構成

コマンドだけを理解するモデルは1秒未満、すべてを文字起こしするモデルは機器によって8秒かかります。

Assistの音声往復はウェイクワード、文字起こし、処理、合成の4段階です。文字起こしエンジンの選択が体感遅延を最も大きく変え、合成はPiperが担います。サテライトの配置と遅延を抑える条件を順に扱います。

実行条件と要点
  • Assistパイプラインはウェイクワード→文字起こし→処理→合成の順に動きます。
  • Speech-to-PhraseはGreenやPi 4でも1秒未満ですが、対応するコマンドが限られています。
  • WhisperはPi 4で8秒前後、Intel NUCで1秒未満です。

サテライトは音だけをやり取りします

音声サテライトはマイクで音を受け、スピーカーで答えを出す機器です。ウェイクワードを自分で検知してHome Assistantへの接続を開き、音声をストリームで送ります。判断と保存はHome Assistantが行い、サテライトは音だけをやり取りします。

そのため、サテライトを複数置いてもパイプライン1は1つで動きます。部屋ごとにサテライトを置き、同じ文字起こし・合成サービスを共有すれば、部屋を移っても同じように話せます。

マイクの横のノートPCに音声波形が表示されています
サテライトが送るのは音だけで、文字にするのは家の中のサーバーです。

文字起こしエンジンを選ぶ基準

Home Assistantが用意するローカル文字起こしは2つです。コマンドだけを理解するSpeech-to-Phraseと、すべてを文字起こしするWhisperです。速度と範囲が正反対に分かれます。

家の操作だけならSpeech-to-Phraseが有利です。リストにない文は理解できませんが、GreenやPi 4でも1秒未満で終わります。逆に書き起こした文を他の用途に使うならWhisperが必要で、その分速い機器が要ります。

左右にスクロールして各項目を比較できます。

2つの文字起こしエンジン
エンジン転写の遅延理解できる範囲向く機器
Speech-to-Phrase1秒未満(Green・Pi 4)家の操作コマンド中心。リストやタイマー名のような自由な文は制限Green・Pi 4
WhisperPi 4で約8秒、NUCで1秒未満自由な文の転写、他アプリへの文字渡しIntel NUC・ミニPC・Mac

声はPiperが作ります

合成はPiperが担います。Pi 4でも1秒で1.6秒分の音声を作るローカルなニューラル音声合成です。答えが短ければ合成時間も短く、音声の往復で占める割合は大きくありません。

声の品質は言語とモデルで大きく変わります。韓国語なら韓国語のモデルを選び、同じ文を何度か聞いて発音と速さを確認します。

導入手順

1)Home AssistantにWhisperとPiperのアプリを入れます。2)Wyoming2連携がサービスを自動で見つけます。見つからない場合はアドレスとポートを手入力します。3)音声アシスタントで新しいパイプラインを作り、ウェイクワード、文字起こし、合成、会話エージェントを選びます。

4)サテライトを追加し、そのパイプラインを指定します。5)照明を1つ音声で点けて、応答時間と聞き間違えた文を記録します。アプリを別の機器に入れたなら、Wyoming連携にその機器のアドレスを入れます。

窓辺の机に開いた本、小型コンピューター、スピーカーが置かれています。
スピーカーのある場所ごとにサテライトを置けば、どの部屋でも同じパイプラインを使えます。

遅延を減らす条件

最大の変数は文字起こしの機器です。Pi 4で8秒かかった転写がIntel NUCでは1秒未満になります。サテライトとHome Assistantを有線でつなぎ、文字起こしサーバーも同じスイッチに置くとネットワーク待ちが減ります。

会話モデルを足すとモデル応答時間が加わります。短く答えるよう指示し、モデルを文字起こしサーバーと同じ機器に置くと往復が1回減ります。

限界と確認

Speech-to-Phraseはリストにない言葉を理解できません。買い物リストへの追加やタイマーへの名前付けにはWhisperが必要です。逆にWhisperだけだと、遅い機器では8秒待つことになります。

韓国語の品質はモデルごとに違うので、同じ文を3回言って聞き間違いが多いならモデルを替えるほうが早いです。クラウド音声で一時的に動かして差を比べるのも手です。

マイク、ヘッドホン、音声波形を表示したモニターが見えます。
文字起こしと合成を分けておけば、遅いほうだけ別の機器へ移せます。

用語の注釈

  1. パイプライン — 入力から出力まで続く処理段階のまとまりです。段階ごとに異なるモデルやツールを使うことがあります。

    本文に戻る
  2. Wyoming — Home Assistantと音声サービスが音声とテキストをやり取りするプロトコルです。認証も暗号化もないため、信頼できるネットワークでだけ使います。

    本文に戻る

よくある質問

この記事で最初に確認すべきことは何ですか?
Assistの音声往復はウェイクワード、文字起こし、処理、合成の4段階です。文字起こしエンジンの選択が体感遅延を最も大きく変え、合成はPiperが担います。サテライトの配置と遅延を抑える条件を順に扱います。