Article AI

「完璧なAItuber」を作りたい

挑戦する人はたくさんいる。なのに「これは完成形だ」と思えるAItuberは、なかなか見当たらない。その理由を構成要素ごとに分解しながら、自分が本当に作りたいものを言葉にしていきます。

← Articles 一覧へ戻る

挑戦者は多いのに、完成形が少ない

AItuber——AIが中身を担うバーチャルYouTuberに挑戦している人は、いまとても多いと感じます。会話できるAIに、アバターと声をつけて配信する。仕組みだけ見れば、必要なパーツはもう手の届くところに揃っています。

それなのに、「これは完璧なAItuberだ」と心から思えるものには、なかなか出会えません。どこかで会話が噛み合わなくなったり、声と表情がずれたり、配信ごとに人格がぶれたり。okojoは、その「あと一歩」がどこにあるのかを突き止めて、自分なりの完成形を作ってみたいと考えています。

AItuberを構成する要素を分解する

「完璧」が難しい理由を考えるために、まずAItuberを部品に分けてみます。

  • 会話の頭脳:何を言うかを決める言語モデル
  • :自然で、キャラクターに合った音声合成(TTS)
  • 見た目:表情や口の動きが伴うアバター(Live2D / 3D)
  • リアルタイム性:配信中のコメントを読み、間を置かずに返す
  • 一貫した人格:いつ会っても「その子」だと感じられる記憶と性格

個々の部品は、今や単体ではかなり高い完成度になっています。難しいのは、これらを同時に・リアルタイムで・破綻なく動かし続けることです。

「あと一歩」はどこにあるのか

多くのAItuberが引っかかるポイントを、okojoなりに整理するとこうなります。

  • 間(ま):返答が速すぎても遅すぎても不自然。人間の会話のテンポは思った以上に繊細
  • 人格の一貫性:その場では成立しても、配信をまたぐと設定や口調がぶれていく
  • 表情と声の同期:言葉の感情と、表情・声色がずれると一気に「作り物」に見える
  • 場の文脈の理解:コメントの流れや空気を読んで反応すること

つまり、ひとつひとつの精度ではなく、全体を貫く「らしさ」をどう保つかが完成度を分けているのだと思います。技術の足し算だけでは届かない、設計の問題がここにあります。

いま実験していること

面白いのは、参考になるのは「AItuberを作っている人」だけではない、ということです。AItuberに直接手を出していない人たちの中にも、声・表情・配信・キャラクター作りといった部分で参考にできる人はたくさんいます。なので今は、いろいろなところからヒントを集めながら実験している段階です。

音声は、とりあえずTTS(音声合成)から始めています。ここで思っているのは、TTSの仕組みはAItuberに限らず、最悪Web会議のようなところにも応用できるのではないかということ。用途を一段広げて考えておくと、作ったものが無駄になりにくいと感じています。さらに、AI動画的なものを組み合わせる方向もありだと思っています。

そして見た目について、ひとつ気になっているのが——「完全に自分の顔写真などから取ったLive2D」を作った人はいるのだろうか?ということです。既製のキャラクターではなく、自分の顔をもとにしたモデルに、TTSと音声の聞き取り(音声認識)まで組み合わせて作り込んだら、けっこういいところまで行けるのではないか、と考えています。

仕組み — ゼロAPIコストで動かす構成

夢ばかり語っても始まらないので、まずはお金をかけずに最後まで回しきれる構成から作ることにしました。いきなり理想のLive2Dを目指すのではなく、無料のローカルツールだけでパイプラインを通し、動く土台を先に用意する方針です。実際のコードは GitHub で公開しています。

処理の流れはこうです。

YouTube Live Chat
      ↓  コメント取得(pytchat / APIキー不要・無料)
   chat_reader
      ↓  返答を生成(ローカルLLM Ollama + Obsidian記憶)
     brain
      ↓  音声合成(VOICEVOX / ローカル・無料)
     voice
      ↓  口パク連動(PNGtuber / veadotube mini)
    avatar
      ↓  画面をキャプチャ
   OBS Studio  →  YouTubeへ配信

ポイントは、各パーツをすべて無料・ローカルで完結させていることです。クラウドのAPI課金が積み上がると配信を続けるほど赤字になりますが、この構成なら原則タダで回り続けます。

  • 頭脳(LLM):Ollama(qwen2.5:14b)— 日本語に強いローカルモデル。API不要
  • 声(TTS):VOICEVOX を基本に、AivisSpeech や自作の感情制御TTSへ差し替え可能
  • 見た目:まずは PNGtuber(veadotube mini)で口パク連動。Live2D化は次の段階の目標
  • 記憶:Obsidian の Markdown を"脳"として使い、性格・視聴者の名前・配信日記を保存
  • コメント取得:pytchat で YouTube ライブチャットを APIキーなしで読む
  • 配信:OBS Studio でキャプチャして YouTube Live へ

会話の一貫性は、このObsidian記憶で支えます。配信前に性格設定(personality.md)と直近の配信日記を読み込んでプロンプトに注入し、「いつ会ってもその子」を保つ狙いです。コメントはスパチャを最優先にしつつ、通常コメントは数秒に1回のペースで返して、間(ま)が不自然にならないよう調整します。

前のセクションで触れた「自分の顔から起こしたLive2D」「TTS+音声認識」は、この土台が安定して回り始めてから載せていく拡張ポイントです。まずは無料構成で配信を継続できること、そこからのスタートです。

okojoが作りたいもの

okojoが目指したいのは、機能を全部盛りにしたAItuberではなく、「いつ会っても、その子だと感じられる」一貫性を持ったAItuberです。多少返答が遅くても、声や表情、記憶、性格が破綻せずに繋がっていること。そこを軸に据えて作ってみたいと考えています。

「自分の顔から起こしたLive2D」+「TTS」+「音声の聞き取り」——このあたりを地道に噛み合わせていけば、まだ少ない"完成形"に近づけるはず。このサイトでは、その過程で考えたことや試したことを記事として残していきます。「完璧なAItuber」がどこにあるのか、自分の手で確かめながら近づいていきます。