1. 首页
  2. ARCore

ARCore之路-运动跟踪之3D声场(一)

在前文中,我们学习了如何定位用户(实际是定位用户的手机设备)的位置与方向,然后通过摄像机的投影矩阵将虚拟物体投影到用户手机设备屏幕,如果用户运动了,我们可以通过VIO更新用户的位置与方向信息,更新投影矩阵,这样就可以把虚拟物体固定在空间中的某点上(这个点就是锚点),从而达到以假乱真的视觉体验。
  定位不仅仅包括虚拟物体的位置定位,应该还包括声音的3D定位,这样达到好的听觉体验,以使人在AR中有更好的沉浸式的体验效果,3D声音的处理目的是让用户进一步相信我们AR应用和虚拟生成的世界是真实的。事实上,3D声音在电影、电视、电子游戏中被广泛使用。但AR 3D声音的处理有其特别之处,类似于电影采用的技术并不能很好的解决3D声音的问题。
  在电影院中,观众的位置是固定的,因此我们可以在影院的四周都加装上音响设备,通过设计不同位置音响设备上声音的大小和延迟,就能给用户营造逼真的3D声音效果。
  经过大量的研究与努力,人们根据人耳的结构与声音的传播特性也设计出了很多技术,可以只用两个音响或者耳机也能模拟出3D音效。这种技术叫双耳声(binaural sound),它的技术原理如下:

这里写图片描述

在上图中,从声源发出来的声音会直接传播到左耳和右耳,但因为左耳离声源近,所以声音会先到达左耳再到达右耳,由于在传播过程中的衰减,左耳听到的声音要比右耳大,这是直接的声音信号,大脑会接收到这两个耳传过来的信号。同时,从声源发出的声音也会被周围的物体反射,这些反射比直接信号有一定的延迟并且音量更小,这些是间接的声音信号。大脑会采集到直接信号与所有的间接信号并比较从左耳与右耳采集的信号,经过分析计算,从而达到定位声音源的效果。在了解大脑的工作模式后,我们可以通过控制两个音响或者耳机的音量与延迟来达到模拟3D声源的效果,让大脑产生出虚拟的3D声音场景。

3D声场原理
  3D声场,也称为三维音频、虚拟3D音频、双耳音频等,它是根据人耳对声音信号的感知特性,使用信号处理的方法对到达两耳的声音信号进行模拟,以重建复杂的空间声场。说的通俗点,把耳朵以外的世界看作一个系统,那么任意一个声音源,在耳膜处接收到的信号后,三维声场重建就是把两个耳朵接收到的声音尽可能准确地模拟出来,让人产生听到三维音频的感觉。
  如前所述,当人耳在接收到音源发出的声音时,人的耳廓、耳道、头盖骨、肩部等对声波的折射、绕射和衍射以及鼓膜接收到的信息会被大脑所接受,大脑通过经验来对声音的方位进行判断。在计算机中,通过信号处理的数学方法,构建头部相关传输函数HRTF(Head Related Transfer Functions),根据多组的滤波器来虚拟实现人耳接收到的“位置信息”。

这里写图片描述

目前的3D声场重建技术已经非常成熟,人们不仅想出了如何录制3D音频,而且还知道如何播放这些3D音频,让大脑的产生逼真的3D声场信息,产生现实相同的声场效果。然而,目前的大多数3D声场重建技术都假设用户是静止的,而在AR应用中,情况却并不是这样的,AR应用用户是会运动的,这意味着用户周围的3D声音也需要调整,这一特殊情况导致目前的3D声场重建技术失效。幸运的是,Google已经考虑到这个问题,并为AR和VR开发了一个3D声音API,称为共振音频(Resonance Audio),Unity2018也将其集成到了。我们将在下一节中探讨更多关于共振音频(Resonance Audio)的内容以及如何使用它。

参考文献
1、人头录音环绕声音乐、音效与游戏 http://www.soomal.com/doc/10100000940.htm
2、三维声场(虚拟3D音频)学习总结 https://blog.csdn.net/xingzhedai/article/details/53135872


主题测试文章,只做测试使用。发布者:风凌恒,转转请注明出处:https://www.doulipark.com/2019/1014.html

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

AR社区交流群:AR社区交流群

QR code