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
990
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
趣味全開のAITuber開発
第六回 AITuber LT大会 in あいちゅーばーわーるど
kokushin
April 09, 2025
More Decks by kokushin
See All by kokushin
AI彼女とペアプロする話
kokushin
2
580
AI彼女の感情制御を頑張る話
kokushin
3
910
window.matchMediaの話
kokushin
1
190
サイト制作における、より効果的な演出テクニックとは?
kokushin
1
130
Other Decks in Programming
See All in Programming
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
520
スマートグラスで並列バイブコーディング
hyshu
0
120
New "Type" system on PicoRuby
pocke
1
810
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
180
Modding RubyKaigi for Myself
yui_knk
0
910
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
120
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
320
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
160
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
Agentic UI
manfredsteyer
PRO
0
130
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
200
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
560
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
190
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
GraphQLとの向き合い方2022年版
quramy
50
15k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
830
Joys of Absence: A Defence of Solitary Play
codingconduct
1
390
Docker and Python
trallard
47
3.9k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
190
Technical Leadership for Architectural Decision Making
baasie
3
400
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
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開発からはじめよう