Beta

ずんだもんAI配信アシスタント

配信中にAIが自律的に応答したり画面にhtml要素を表示できます。

Visit Product
プロダクトの感想・意見はこのエリアに表示されます

AI配信アシスタント

はじめに

ライブ配信中にリアルタイムでコメントに反応し、音声で返答し、画面にオーバーレイを表示する——そんなAI配信アシスタントを Claude Code + VOICEVOX + OBS で構築した。

本記事では、このシステムのアーキテクチャと使い方を紹介する。

アーキテクチャ

Claude Code エージェントは CLIコマンドHTTPリクエスト でバックエンドサービスとやり取りする。バックエンドはわんコメ・VOICEVOX・OBS との接続を一手に管理する。

必要なもの

ソフトウェア用途
Python 3.11+バックエンド実行環境
Claude CodeAIエージェント実行環境
VOICEVOX音声合成エンジン
わんコメマルチプラットフォームコメントビューア
OBS Studio配信ソフト(WebSocket API で画面取得)

CUDA対応GPUがあると、faster-whisper(音声認識)がGPUで動作し高速になる。CPUのみでも動作可能。

セットアップ

1. インストール

これで live-assistant コマンドがグローバルに使えるようになる。

2. 外部サービスの起動

  1. VOICEVOX を起動(localhost:50021
  2. わんコメ を起動し、配信URLを接続(localhost:11180
  3. OBS を起動し、WebSocket サーバーを有効化(localhost:4455
    • ツール → WebSocket サーバー設定 → WebSocket サーバーを有効にする

3. 設定ファイル

config.yaml で各サービスの接続先やパラメータを調整する。

CPU環境の場合は device: "cpu", compute_type: "int8", model: "small" に変更すること。

4. OBS ブラウザソース

オーバーレイを配信画面に表示するため、OBSにブラウザソースを追加する。

項目設定値
URLhttp://localhost:50700/overlay/
幅・高さ配信解像度に合わせる

CLIコマンド

live-assistant CLI で利用可能なコマンド一覧:

コマンド説明
live-assistant serveバックエンドサーバー起動
live-assistant wait --timeout-sec 15コメント・マイクイベントを待機
live-assistant speak "テキスト"VOICEVOX で音声読み上げ
live-assistant statusサーバーの稼働状態を確認
live-assistant activity "テキスト"オーバーレイに稼働状況テキストを表示

各コマンドの詳細オプションは live-assistant <command> --help で確認できる。

サーバーの機能

live-assistant serve を起動すると、以下のバックグラウンドタスクが自動的に開始される。

  • マイク音声の録音・VAD・文字起こし — Silero VAD でリアルタイム音声区間検出し、faster-whisper で文字起こし
  • わんコメ経由のコメント受信 — WebSocket でリアルタイム受信
  • OBS スクリーンショットの自動保存 — 設定した間隔(デフォルト2秒)でプロジェクトルートの screenshot.jpg に自動保存
  • オーバーレイのファイル監視overlay/slots/ 配下のファイル変更を0.5秒間隔で検知し、SSE経由でブラウザに自動反映

オーバーレイ(スロット方式)

配信画面へのHTML表示は スロット方式 で管理する。overlay/slots/<name>.json にJSONファイルを書き込むだけで、配信画面にリアルタイム反映される。

基本の使い方

スロットの特徴

  • 独立管理 — 1つのスロットを変更しても他のスロットに影響しない
  • 自動反映 — サーバーがファイル変更を検知し、SSEでブラウザに即座に反映
  • ページリロード復元/api/overlay/slots APIで全スロットが自動復元される
  • 削除はファイル削除 — スロットを消すにはJSONファイルを削除するだけ

スロットの使用例

スロット名用途
bgm.jsonBGM再生用のaudioタグ
effects.json画面エフェクト(キラキラ等)
news.jsonニューステロップ
clock.json時計ウィジェット

配信アシスタントの運用

1. サーバー起動

2. Claude Code でスキル実行

サーバーが起動した状態で、Claude Code のチャットに /live-assistant と入力する。エージェントが以下を自動実行する:

  1. live-assistant status でサーバー起動を確認
  2. メインループを開始 — wait → 応答生成 → speak → ループ
  3. 沈黙が15秒以上続くと自律行動(ニュース検索、画面実況、オーバーレイ更新など)

3. 配信終了

サーバーを起動したターミナルで Ctrl+C を押して停止する。

エージェントの自律行動

Claude Code エージェントは、コメントやマイク入力がない沈黙時に自律的に行動する。

  • Web検索 — 最新ニュースや話題を調べて紹介
  • 画面実況screenshot.jpg を読み取って配信画面を実況
  • オーバーレイ更新 — スロットにHTML/SVGグラフ等を書き込んで画面演出
  • ComfyUI連携http://127.0.0.1:8000/prompt にAPIリクエストを送信して画像や音楽を生成
  • 雑談 — 直近の話題を発展させたり、チャンネル登録を促したり

ComfyUI APIを使えば、配信中にリアルタイムでAI画像生成やAI音楽生成ができる。利用可能なモデル: sdxl_lightning_4step.safetensors(画像)、ace_step_1.5_turbo_aio.safetensors(音楽)

HTTP API

バックエンドは http://127.0.0.1:50700 でHTTP APIを公開している。CLIコマンド以外にも、直接APIを叩いて操作できる。

エンドポイントメソッド説明
/api/waitPOSTイベント待機
/api/speakPOST音声読み上げ
/api/statusGETサーバー状態取得
/api/activityPOSTアクティビティテキスト設定
/api/overlay/eventPOSTカスタムSSEイベント送信
/api/overlay/slotsGET全スロットの状態取得
/overlay/eventsGETSSEイベントストリーム
/overlay/GETオーバーレイUI

ライセンス

本リポジトリのコードは MIT License で提供する。実行時に読み込む外部サービス・素材には個別のライセンスが適用される。

Explore More
関連記事はありません。
Trends
トレンドはありません。