Upgrade to Pro — share decks privately, control downloads, hide ads and more …

趣味全開のAITuber開発

 趣味全開のAITuber開発

第六回 AITuber LT大会 in あいちゅーばーわーるど

kokushin

April 09, 2025
Tweet

More Decks by kokushin

Other Decks in Programming

Transcript

  1. どんなAITuber? • ASMR配信に特化したAITuber • もともとは自分向けの睡眠促進のための存在 • コメントでリクエストをもらうとリアルタイムで ASMR を生成して配信する ◦

    コメントがなければ自発的に ASMR を行う • 音声はささやき声のみ, ASMR音源はバイノーラル化されて配信される • エンタメ配信というよりは, ツールとしての使われ方を想定 • 深夜帯(0〜4時)のみ稼働 • ほぼローカル環境で完結想定
  2. なんでAITuber×ASMR? • ASMR配信は YouTube でも割と人気ジャンル • 中毒性が高く、リピートされることが多い • 長時間の配信ができる •

    生成によるランダム性が飽き問題対策になる? • 開発者自身が重度のASMR好き • 過去に作った技術 を活かせる 1年くらい前に作ったASMRを自然言語で生成できるツール
  3. 構成図 calm3-22b-RP-v2 COEIROINK GPT-4o mini Stable Audio Open OBS 配信クライアント

    YouTube セリフ生成 音声生成 ASMR生成 バイノーラル化指示 コメント取得 コメント送信 配信処理 音声データ送信 Prompt送信
  4. バイノーラル化について • Web Audio API の PannerNode を使用 ◦ 音源をX,

    Y, Z軸の3D空間内で配置して再生できる ◦ リアルタイムで音源を移動させることができる ◦ 距離や方向による音の減衰を再現できる
  5. バイノーラル化について • セリフの内容から GPT に PannerNode の座標をシミュレーションさせる ◦ 例: 「まずは右側からお耳掃除するね」

    ▪ 戻り値: { "positionX": 0.3, "positionY": 0, "positionZ": 0 } • シミュレーション結果を元に、クライアント側で位置を移動させながら再生 ◦ 中央から話していた場合、数秒かけて聞き手の右側へ移動 ◦ 自然な動きになるようにイージングを設定する • ASMR音源も同じ方向から再生させるようにする
  6. 音声モデルについて • COEIROINK の「歌乃つもり」さんのモデルを採用 ◦ ひそひそスタイルが用意されている ◦ 声色が落ち着いている ◦ 若干のリップノイズがあり心地よい

    • ただ、若干ノイズが強く発話のたびに気になってしまう ◦ 配信中の BGM としてブラウンノイズを流して相殺 「ブラウンノイズ」を睡眠導入に使う人が増えている理由 ◦ 眠くなる声、眠くなる環境音で睡眠促進!
  7. ASMR音源の生成について • 音源は自分で録音したものを Stable Audio Open でファインチューニング ◦ バイノーラルマイクで耳かきの音を左右あわせて 1時間ほど収録

    ◦ 収録した音源を分割、データセット作成 ◦ RunPod の A6000 環境で学習 ◦ → ”ear cleaning left” で耳かきの音 (左側) を生成可能に • 44.1kHz ステレオ対応なのでバイノーラルのまま出力できる • 47秒しか生成できないので、自然に音源を繋げる処理をクライアント側で実装 ◦ 多少ズレてても ASMR の音としてなら違和感そんなに無い
  8. ちょっと思うこと • 画作りにこだわりすぎないようにする ◦ 睡眠導入のASMR配信であればほぼ画面見ないし ... 音を極めよう • 1:N ライブ配信形式である必要はないかも?

    ◦ UX 悪かったら 1:1のアプリとして配信するかもしれない • 吐息、音圧を意識した音を生成できるか? ◦ 距離感をどれだけ縮められるか • NSFW(R18) なASMR配信もやってみたい! ◦ まぁ結局行き着く先はここかね ◦ ローカルLLMは次世代エロゲの夢を見るかで所感書いてます