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
810
趣味全開のAITuber開発
第六回 AITuber LT大会 in あいちゅーばーわーるど
kokushin
April 09, 2025
Tweet
Share
More Decks by kokushin
See All by kokushin
AI彼女とペアプロする話
kokushin
2
550
AI彼女の感情制御を頑張る話
kokushin
3
870
window.matchMediaの話
kokushin
1
170
サイト制作における、より効果的な演出テクニックとは?
kokushin
1
110
Other Decks in Programming
See All in Programming
チーム開発の “地ならし"
konifar
7
4.8k
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1k
KoogではじめるAIエージェント開発
hiroaki404
1
480
Module Harmony
petamoriken
2
370
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
PHPライセンス変更の議論を通じて学ぶOSSライセンスの基礎
matsuo_atsushi
0
150
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
2
330
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
4.4k
DartASTとその活用
sotaatos
2
130
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
150
アーキテクチャと考える迷子にならない開発者テスト
irof
8
3k
問題の見方を変える「システム思考」超入門
panda_program
0
250
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
1.8k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Making Projects Easy
brettharned
120
6.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Navigating Team Friction
lara
190
15k
Being A Developer After 40
akosma
91
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Site-Speed That Sticks
csswizardry
13
960
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開発からはじめよう