Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
趣味全開のAITuber開発
Search
kokushin
April 09, 2025
Programming
0
230
趣味全開のAITuber開発
第六回 AITuber LT大会 in あいちゅーばーわーるど
kokushin
April 09, 2025
Tweet
Share
More Decks by kokushin
See All by kokushin
AI彼女とペアプロする話
kokushin
2
490
AI彼女の感情制御を頑張る話
kokushin
3
840
window.matchMediaの話
kokushin
1
160
サイト制作における、より効果的な演出テクニックとは?
kokushin
1
110
Other Decks in Programming
See All in Programming
ビカム・ア・コパイロット
ymd65536
1
190
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
610
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
6
1.5k
primeNumberでのRBS導入の現在 && RBS::Traceでinline RBSを拡充してみた
mnmandahalf
0
220
TSConfig Solution Style & subpath imports to switch types on a per-file basis
maminami373
1
160
ワンバイナリWebサービスのススメ
mackee
6
3.7k
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
5.8k
Proxmoxをまとめて管理できるコンソール作ってみました
karugamo
1
380
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
160
AI時代のリアーキテクチャ戦略 / Re-architecture Strategy in the AI Era
dachi023
0
180
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
3
2.1k
インターフェース設計のコツとツボ
togishima
2
380
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
460
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Speed Design
sergeychernyshev
30
960
Being A Developer After 40
akosma
91
590k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Code Review Best Practice
trishagee
68
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Adopting Sorbet at Scale
ufuk
76
9.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
趣味全開のAITuber開発
自己紹介 黒神 (こくしん) エンジニア 技術の無駄遣いを追求しています X: @kokushing
霊花ユウ - Yu Reika いたずら好きな おばけの女の子 スッと背後に現れて 耳元で囁いてくる 一度に多くの人間を驚かそうと 夜な夜な
囁きASMR配信 をしている まだ開発中... (進捗 50%くらい)
どんなAITuber? • ASMR配信に特化したAITuber • もともとは自分向けの睡眠促進のための存在 • コメントでリクエストをもらうとリアルタイムで ASMR を生成して配信する ◦
コメントがなければ自発的に ASMR を行う • 音声はささやき声のみ, ASMR音源はバイノーラル化されて配信される • エンタメ配信というよりは, ツールとしての使われ方を想定 • 深夜帯(0〜4時)のみ稼働 • ほぼローカル環境で完結想定
なんでAITuber×ASMR? • ASMR配信は YouTube でも割と人気ジャンル • 中毒性が高く、リピートされることが多い • 長時間の配信ができる •
生成によるランダム性が飽き問題対策になる? • 開発者自身が重度のASMR好き • 過去に作った技術 を活かせる 1年くらい前に作ったASMRを自然言語で生成できるツール
None
構成図 calm3-22b-RP-v2 COEIROINK GPT-4o mini Stable Audio Open OBS 配信クライアント
YouTube セリフ生成 音声生成 ASMR生成 バイノーラル化指示 コメント取得 コメント送信 配信処理 音声データ送信 Prompt送信
バイノーラル化について • Web Audio API の PannerNode を使用 ◦ 音源をX,
Y, Z軸の3D空間内で配置して再生できる ◦ リアルタイムで音源を移動させることができる ◦ 距離や方向による音の減衰を再現できる
バイノーラル化について • セリフの内容から GPT に PannerNode の座標をシミュレーションさせる ◦ 例: 「まずは右側からお耳掃除するね」
▪ 戻り値: { "positionX": 0.3, "positionY": 0, "positionZ": 0 } • シミュレーション結果を元に、クライアント側で位置を移動させながら再生 ◦ 中央から話していた場合、数秒かけて聞き手の右側へ移動 ◦ 自然な動きになるようにイージングを設定する • ASMR音源も同じ方向から再生させるようにする
音声モデルについて • COEIROINK の「歌乃つもり」さんのモデルを採用 ◦ ひそひそスタイルが用意されている ◦ 声色が落ち着いている ◦ 若干のリップノイズがあり心地よい
• ただ、若干ノイズが強く発話のたびに気になってしまう ◦ 配信中の BGM としてブラウンノイズを流して相殺 「ブラウンノイズ」を睡眠導入に使う人が増えている理由 ◦ 眠くなる声、眠くなる環境音で睡眠促進!
ASMR音源の生成について • 音源は自分で録音したものを Stable Audio Open でファインチューニング ◦ バイノーラルマイクで耳かきの音を左右あわせて 1時間ほど収録
◦ 収録した音源を分割、データセット作成 ◦ RunPod の A6000 環境で学習 ◦ → ”ear cleaning left” で耳かきの音 (左側) を生成可能に • 44.1kHz ステレオ対応なのでバイノーラルのまま出力できる • 47秒しか生成できないので、自然に音源を繋げる処理をクライアント側で実装 ◦ 多少ズレてても ASMR の音としてなら違和感そんなに無い
None
ちょっと思うこと • 画作りにこだわりすぎないようにする ◦ 睡眠導入のASMR配信であればほぼ画面見ないし ... 音を極めよう • 1:N ライブ配信形式である必要はないかも?
◦ UX 悪かったら 1:1のアプリとして配信するかもしれない • 吐息、音圧を意識した音を生成できるか? ◦ 距離感をどれだけ縮められるか • NSFW(R18) なASMR配信もやってみたい! ◦ まぁ結局行き着く先はここかね ◦ ローカルLLMは次世代エロゲの夢を見るかで所感書いてます
趣味全開で、 まずは一人に愛される AITuber開発からはじめよう