VRC-LT XR フェスタ特別編最高の音響 in VRcannorin
View Slide
だれ● Twitter: @cannorin_vrc● Study: 数理論理学プログラム言語の理論● Job: F# プログラマ● in VRC: VOLT EnthusiastVRC-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!