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
Audio Experience is greatly improved in VR: A W...
Search
cannorin
November 19, 2019
Technology
0
1.6k
Audio Experience is greatly improved in VR: A Worked Example
cannorin
November 19, 2019
Tweet
Share
More Decks by cannorin
See All by cannorin
AltJS を作るなら型変換を入れた方がいい
cannorin
0
1.3k
A Journey to Type-safe Vectors in F#
cannorin
6
11k
TidalCycles - Haskell meets Music
cannorin
0
1.5k
Making Indian Curries - at Home!
cannorin
2
1.5k
On Space Filling Curves: Its Beauty and Applications
cannorin
0
290
A brief introduction to type inference
cannorin
4
2.4k
Other Decks in Technology
See All in Technology
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
220
Kiroと学ぶコンテキストエンジニアリング
oikon48
6
9.3k
Skrub: machine-learning with dataframes
gaelvaroquaux
0
120
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
200
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
11
1k
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.5k
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
460
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
100
AI開発ツールCreateがAnythingになったよ
tendasato
0
110
Flutterでキャッチしないエラーはどこに行く
taiju59
0
220
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
620
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
Featured
See All Featured
Fireside Chat
paigeccino
39
3.6k
Agile that works and the tools we love
rasmusluckow
330
21k
Optimizing for Happiness
mojombo
379
70k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
A designer walks into a library…
pauljervisheath
207
24k
Facilitating Awesome Meetings
lara
55
6.5k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Building an army of robots
kneath
306
46k
Code Review Best Practice
trishagee
70
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
VRC-LT XR フェスタ特別編 最高の音響 in VR cannorin
だれ • Twitter: @cannorin_vrc • Study: 数理論理学 プログラム言語の理論 • Job:
F# プログラマ • in VRC: VOLT Enthusiast VRC-LT (#2~) Club: The Underground
だれ • Twitter: @cannorin_vrc • Study: 数理論理学 プログラム言語の理論 • Job:
F# プログラマ • in VRC: VOLT Enthusiast VRC-LT (#2~) Club: The Underground
VRChat 世界のクラブ ワールド型 ユーザー運営 / イベント型 • VOLT Dance Club
• VOID Club • Club VGL • Club Rogue • MOGRA (再現ワールド) • etc • Silent Club • Club Ruins/RE:Builds/ARTRIUM • GHOST CLUB • アルテマ音楽祭 • Club: The Underground • etc (順不同)
人はなぜ VR のハコを求めるのか 参加者目線では 主催者目線では • 入場料がかからない • 終電を気にしなくてよい •
配信よりも臨場感がある • 知り合いと集まりやすい • 好きな音楽をかけられる (ワールド型) • ハコ代がかからない • 風営法を気にしなくてよい • イベント開催のコストが低い • あまり人が来なくても気にならない • (配信と異なり)フロアのほぼリア ルタイムの反応が得られる
それでもハコでしか味わいにくいもの • DJ パフォーマンスとフロアの熱狂 ( VR 入力デバイスの技術的限界) • 凝った VJ・エフェクト
( VRChat の技術的限界) • 身体に響く低音の振動 ( VR 出力デバイスの技術的限界) • 前から飛んでくる音とその反響 (物理的限界)
それでもハコでしか味わいにくいもの • DJ パフォーマンスとフロアの熱狂 ( VR 入力デバイスの技術的限界) → 高度なモーキャプソフト・ハードの導入 •
凝った VJ・エフェクト ( VRChat の技術的限界) → シェーダー技術の応用 • 身体に響く低音の振動 ( VR 出力デバイスの技術的限界) → 新しい出力デバイスの普及 (e.g. Hapbeat) • 前から飛んでくる音とその反響 (物理的限界) → VRChat SDK のみで改善可能 (今日はこれの話)
VRChat の立体音響 VRChat は ONSP(Oculus Audio Spatializer Plugin) という 3D
音響システム SDK を使っている. モノラル音声 + 頭や音源の位置・動きの情報 + 環境データ ↓ONSP で再現 バイノーラル音声 ※ バイノーラル音声 …… 鼓膜に届く状態で録音された音声
3D 音響のしくみ (1) 3D 音響 … Spatialization + Environmental Modeling
・ Spatialization = 音源の方向・距離の再現 - 左右方向 : 左右での音量差 (ILD) と時間差 (ITD) - 上下前後方向 : 身体や耳介の形状による反射・減衰 → まとめて 頭部伝達関数 (HRTF) でエンコード (+頭の動きに応じて音を変化させて補完) - 距離 : 音量の変化や ITD, 高周波減衰など
3D 音響のしくみ (2) 3D 音響 … Spatialization + Environmental Modeling
・ Env. Modeling = 音の反響(・遮蔽)の再現 - 環境情報から適切なエコー・リバーブを導出 - エコー : 壁などでの音の反射 (early reflections) → 部屋の形状を表現 - リバーブ : 部屋全体での音の残響 (late reverb. tail) → 部屋の大きさを表現
頭部伝達関数 (HRTF) についてちょっと詳しく δ(t) ( インパルス信号 ) h(t) ( インパルス応答
) HRTF は θ (= 15°,30°,etc) 刻みの角度・平均的体型で事前計算 → なめらかな方向変化は難しい・合う人と合わない人がいる H(f) (→ HRTF) フーリエ変換 任意の入力(スピーカー) x(t) → X(f) 欲しい出力(耳のマイク) y(t) → Y(f) Y(f) = H(f)X(f) 逆フーリエ変換で y(t) を得られる
Club: The Underground の音響設定 スピーカー x2 (ステレオを左右分割) (反射・残響は今後実装予定) シームレスに切り替え 3D
音響が合わない人向けの 2D 音響ゾーン
Thank you for listening!