- AI
- Video
- Tool
Donguriko Live(AI配信アバター)
配信コメントにローカルAIが返事をして、Live2Dアバターが自分の声で喋る自動配信ボット。

配信中のコメントにAIキャラクター「どんぐりこ」が自動で返事をする、AItuber向けの配信ボットです。コメントはわんコメのWebSocketから受け取り、ローカルのOllama(gemma4:e2b)で返答文を生成、IrodoriTTSで音声化して、OBSに映したLive2Dモデルが喋ります。音声はリファレンス音声からボイスデザインし、シードを固定することでキャラクターの声を毎回そろえています。生成したWAVの音量エンベロープを解析して口の開きに変換し、オフセットを調整してリップシンクさせました。コメントが3分止まると用意した話題からAIが自分で話し始める自動トーク、直近3ターンの会話に加えてMarkdownファイルに書いた設定や覚えておきたいことを読み込むメモリ機能、時刻と天気を答えるツール呼び出しも組み込んでいます。人前でAIに喋らせる以上、危ないコメントへの備えがいちばん大事だと考え、安全フィルターを別に作りました。全角と半角、カタカナとひらがな、記号や空白の違いをならしてから判定し、コメントを読む前とAIが返事を出した後の両方で確認します。「死にたい」などのつらい気持ちのコメントには、AIに返事を作らせず、決まった言葉で相談窓口を案内します。このときコメント本文も名前も画面に出さず、記憶にも残しません(晒さないため)。同じ内容を連投されても読み上げ回数を絞り、荒らしに使われないようにしています。LLMと音声合成はどちらもローカルのGPUで動かしているため、生成まわりに従量課金は発生しません。
YouTube Data API を使わずにコメントを拾う
配信のコメントに反応させる場合、YouTube Data API を使うのが定番ですが、APIには利用枠があり、長時間の配信では枠を気にしながら回すことになります。
Donguriko Live はコメントの取得をコメントビューアー(わんコメ)側に任せ、そこから受け取る構成にしました。YouTube Data API を使わないため、配信時間を気にせず回せます。
返答も音声もローカルで完結させる
返答の生成はローカルで動かしているOllama上のGemmaモデル、読み上げは同じPC上のirodori-TTSが担当します。クラウドのAPIを呼ばないので、コメント1件ごとの課金がなく、長時間の配信でも費用が増えません。
読み上げた音声の音量をそのままLive2Dモデルの口の開き具合に渡しているため、しゃべっている間だけ口が動きます。音声と口の動きを別々に作ると必ずずれるので、音量を唯一の入力にしました。
配信前の手順をダブルクリック1回にまとめる
この構成は、Ollama・irodori-TTS・コメントビューアー・配信ボットと、起動するものが4つあります。配信のたびに順番に立ち上げると、どれか1つの起動漏れで配信中に気付くことになります。
そのため起動用のバッチファイルを用意し、それぞれが起動しているかを確認して、立ち上がっていなければ起動したうえで配信ボットを動かすようにしました。動作確認だけを行うテスト用の起動も分けてあります。
OBSに読み込ませるURLは、空いているポートを自動で探してから実際のURLを画面に表示します。ポートが埋まっていて起動できない、という配信直前のトラブルを避けるためです。横型と縦型それぞれのURLを用意し、ブラウザで開いたときだけ手動で読み上げさせる入力欄が出ます。