Live-Assistant — AI配信アシスタント
ライブ配信をもっと楽しく、もっとインタラクティブに。Live-Assistant は、視聴者コメントの自動応答・マイク音声認識・音声合成・OBSオーバーレイ制御を一つにまとめた、リアルタイムAI配信アシスタントです。
キャラクター「ずんだもん」として配信に参加し、視聴者とのコミュニケーションを自然にサポートします。
主な機能
チャットコメントの自動処理
複数の配信プラットフォームのコメントを わんコメ(OneComme) 経由でリアルタイムに受信し、優先度に応じて応答します。
対応プラットフォームはわんコメが対応するすべてのサービス(YouTube, Twitch, ニコニコ など)です。
マイク音声認識(ハンズフリー)
配信者のマイク入力を Silero VAD(音声区間検出)で自動検出し、faster-whisper でリアルタイムに文字起こしします。キーボード操作は不要です。
音声合成(VOICEVOX)
VOICEVOX による自然な日本語音声で応答を読み上げます。字幕もオーバーレイに自動表示されます。
OBS連携 & オーバーレイ
OBS Studio と WebSocket で接続し、配信画面の取得やオーバーレイのリアルタイム更新(HTML・画像・字幕)を行います。
配信メモリ(永続記憶)
ファイルベースのメモリシステムで、配信をまたいだ学習や視聴者情報の記憶を実現します。
キャラクター:ずんだもん
| 項目 | 内容 |
|---|---|
| 名前 | ずんだもん |
| 一人称 | ボク |
| 語尾 | 〜のだ / 〜なのだ |
| 応答スタイル | 短く端的(50文字以内目安) |
ずんだもんは沈黙が15秒以上続くと、自発的にトピックを振ったり配信画面にコメントしたりする「自律行動モード」を持っています。
応答の優先順位
- 配信者のマイク入力(最優先)
- 「ずんだもん」への直接メンション
- 質問・挨拶
- その他のコメント
- 自律行動(沈黙時)
技術アーキテクチャ
クライアント・サーバー構成
- CLI(
src/live_cli.py): httpx ベースの薄い HTTP クライアント。サーバー未起動時は自動で起動します。 - Backend(
src/server.py): aiohttp による非同期サーバー。全ビジネスロジックを集約。
データフロー
コメント → 応答:
マイク → 文字起こし:
_speak_lock により音声再生の直列化とマイク入力との衝突防止が行われます。マイクがIDLE状態に戻るまで最大5秒待機します。
外部サービス依存
| サービス | アドレス | プロトコル | 用途 |
|---|---|---|---|
| VOICEVOX | localhost:50021 | HTTP | 音声合成 |
| わんコメ | localhost:11180 | WebSocket | コメント集約 |
| OBS Studio | localhost:4455 | WebSocket | 画面取得・配信制御 |
すべてのサービスがローカルで稼働している必要があります。各サービスのポートは config.yaml で変更可能です。
セットアップ
インストール
起動
基本的な使い方
設定(config.yaml)
主要な設定項目:
| カテゴリ | パラメータ例 | 説明 |
|---|---|---|
| VAD | speech_threshold: 0.5 | 音声検出の感度 |
| VAD | silence_duration: 1.5 | 無音判定の秒数 |
| Whisper | model: large-v3 | STTモデル(CUDA対応) |
| VOICEVOX | speaker_id: 1 | ずんだもん ノーマル |
| サービス | port: 50700 | バックエンドのポート |
利用可能なCLIコマンド一覧
-
serve— バックエンドサーバー起動 -
start-stream— 配信セッション開始 -
wait— イベントポーリング -
speak— 音声合成・再生 -
status— サーバー状態確認 -
screenshot— OBS画面キャプチャ -
overlay-html— オーバーレイHTML更新 -
save-note/load-note— メモリ操作
Claude Code の /live-assistant スキルを使うと、上記のコマンドを組み合わせた配信アシスタント運用が自動化されます。