查看原文
其他

空间音频设计 - Apple Vision App设计指导(四)

AR圈 2023-10-15

Editor's Note

李康Max是著名的VR产品经理,近期他围绕空间APP的设计撰写了多篇设计指导,这些指导对于VR产品的设计师、应用开发者及空间计算的爱好都很有价值,警长特此转载。

The following article is from 九棱镜的笔记 Author 九棱镜的笔记

大家好,我是李康Max。
本文针对visionOS的特点提供了空间声音设计的指导。Apple官方视频教程只适合作为入门了解。本文我按照自己的构思,结合当前的内容生态,先透彻的讲解Apple Vision的空间音频,再理解visionOS的UI交互音频设计思路,然后讨论VR模式下环境音频的设计思路,补充了震动和音效的相关关系和设计思路。
本文约8000字,预计阅读时长30分钟,请大家合理安排时间。


一、理解空间音频 Spatial audio

1.1 声音的信息价值
人体日常信息获取途径中,83%来自视觉,11%来自听觉,3.5%来自嗅觉,1.5%来自触觉。声音是人体获取信息途径第二来源,要知道人脑在存储信号时并不会区分MP4 MP3等格式,而是全部用一种格式存储。所以我们听熟悉的歌,和照镜子、看自拍、回忆过去,会产生相近的情绪波动。(这个话题会在内容制作时用到,暂不讨论)
所以当公司组建设计团队时,平均每10个人(包含UI UE 美术等),就要配一位音频设计师,而音频设计和震动设计前期可以先合并使用。

1.2 人耳如何听声辨位
我们可以通过耳朵获取信息,辨别发声物体的方位,甚至还能推测距离发声物体的远近。

- 时间差
在一个点音源发出声音后,声音一般通过空气传播进入双耳,因为耳朵分布在头的两侧,所以若非声音在双耳的垂直中分线上,人耳就能听到声音到达的时间差。

- 声级差
因为声音在空气中传播会随着距离遮挡出现衰减,所以当一个点音源的声音进入双耳后感受到的声级是不同的。(简单立即为响度)。


- 人体的滤波效应
声音是一种纵波,人的头部、肩颈、躯干,会对来自不同方向的声音产生不同的作用,形成反射、遮挡或衍射。尤其是外耳,通过耳廓上不同的褶皱结构,对来自不同方向的声音产生不同的反射或遮挡,形成不同的滤波效果,大脑通过这些不同的滤波效果产生对声源方位的判断。
有时候也会把手放在耳边作为耳廓的延伸,提升准确度。


- 头部晃动
当一个声源的位置难以判断的时候,人们常常会不自觉的轻微晃动头部,使时间差、声级差或人体滤波效应产生变化,并依据这些变化进行快速的重新定位。
Apple Vision Pro就是正对着耳廓喷音波 。



1.3 音频的发展

- 单声道-留声机时代
最早期声音的录制只有一个收音器,所以录制一个交响乐需要大家挤在一起进行演奏。这时候录制的声音也是谁距离收音位置近谁的乐器声音大,所以当时录制音乐时 如何站队,怎么协调乐器声音大小 也是一门高级学问。
声音的播放也是留声机从一个喇叭播出来。


- 立体声-多轨录音和双扬声器
随后工业技术发展,实现了每种乐器单独录制,再通过并轨的方式组合成音乐,拆解了工作流的耦合度,极大的提升了录制效率。于此同时大家发现使用两个扬声器播放不同音轨,就能让音乐从一个点发声变成一条线上各种点都能发声,实现声音在一维层面拆解。
当时主要是外置扬声器,音箱也是放在用户面前,所以听起来就像是在你面前放了一条线,可以把不同的乐器放在线的不同位置。


- 环绕声-影视行业发展
随后人们发现立体声欣赏一下乐器演奏没问题,但是在观影时很多时候需要来自四面八方的声音。这时候就有了环绕声,通过环绕着用户做一圈喇叭播放声音,产生临场的沉浸感。
我们平时使用的耳机说是环绕声,实际绝大部分只能实现立体声,通过算法模拟环绕声。
这时候也埋了一个伏笔,就是音乐其实立体声基本就满足需求了。甚至很多音乐本身就是为了塑造颅内情绪,虽然能够在眼前摆一排喇叭,但是仍然选择把所有声音仅做成部份立体声,让主要音乐在颅内高潮。


- 全景声-影视行业顶峰
因为受到音箱/声道数量的限制,在某些角度还是依靠其它音箱模拟声音。所以全景声设计设计原理也很直接,就是在你身边放一圈喇叭,2个不够就5个,5个不够就7个,7个不够就27个,甚至64个。
这时候水平切面的环形已经不满足需求了,直接以人头为球心,在整个球面上录制和播放。当然这个制作和播放难度都挺大的,所以需要采用专业的制作方式和播放设备,还有专门的压缩编码存储传递还原的算法等等。这时候有一家公司做的最为专业,它定制的标准也就成了行业标准,就是“杜比全景声”。



- 空间音频
一般来讲使用耳机体验影音内容,所有声音都是以人的头部为中心的,用XR行业的话来说就是0dof。当我们在影院中时,音箱是固定在空间中的,所以我们时刻享受的是3dof体验。当我们带上耳机时,耳机相对于头部是固定的,这就丢失了3dof,那么如何找回来呢?是的,这就是Apple AirPods系列!


所以我们是否可以再升级一下,将它变成6dof呢?我们在影院中看电影绝大部分情况是坐着不动的,所以6dof没有明显的价值。但是在另一个领域焕发光彩——FPS游戏!!所以基于FPS游戏本身的特点,通过游戏引擎可以实时计算声源和镜头(游戏角色头部)的位置,这时候我们就可以完成听声辨位。游戏行业很少造概念,所以这个被称为实时渲染环绕立体声,极大的增强了FPS的沉浸感和可玩性!


提到沉浸感我们又想到了什么?是的,VR的空间音频。这时候我们不仅要提供听声辨位的基本能力,同时更希望根据声源周围空间的材料,直接模拟出声音反射、衍射、折射后的效果,在耳机中播放,提供更强沉浸感。然而这些技术其实早已经在游戏3A大作中使用了,要知道当时Quest公司的CTO可是FPS游戏之父!Quest很早就在官方开发者文档中提供了创建VR空间音频的指导。
https://developer.oculus.com/resources/audio-intro-env-modeling/


然而,以上都已经是过去式了。苹果做的不是VR(虚拟现实)而是BR(blend reality 融合现实),所以Apple Vision给我们带来了新的能力——BR的空间音频——声境融合! 官方称之为“音频射线追踪”技术(Audio Raytracing),我就用本土化营销都称呼吧hh。

1.4 声境融合—BR的空间音频

- BR,融合现实 Blend Reality
在本文中我开始强调BR(Blend Reality)这个单词,虽然同行用的最多的还是MR(Mixed Reality),但是我经过长时间立即分析,依旧觉得BR更适合Vision系列。
混合Mix,就好比是果茶,虽然已经成了一个品类,但是我们依旧能够想到水果打碎倒入茶水,有些人还想喝到其中的果粒。融合Blend,就好比是酒,虽然我们知道是乙醇和水的混合物,但是我们无法区分,也不必区分。所以苹果做了环境光实时构建,并细节到每一个窗口和物体上,声境融合的空间音频,EyeSight 的眼神还原,VR模式时智能人物透视,等等。


- 声境融合的目标
基于BR的解释,声境融合的目标就是让音频听起来就像在你房间里的一样。所以,你在一个宽敞的客厅中听到的声效,和你在自己卧室中听到的声效可能会是不同的。
当你在一个大理石构建的展厅/或者贴满光滑的墙砖地砖的房间时,你说话往往会听到回声。在坐的朋友肯定也有很多浴室歌王,短回声变成了和声,听起来更加深情。而在卧室中有很多棉织的物体吸音,所以就不会出现回声/和声,对应的音效也就变化了。
目标是融合现实的苹果,已经在操作系统层面做了全方位的优化。FaceTime通话中苹果提到了这点,无论你在什么场景中,对方说话都像在你的房间一样。举个例子,你和对方同时用VisionPro通话,你在洗手间,他在卧室。那么你听到他的声音就像他也在洗手间一样有和声;尽管你声源本就有浴室的和声,但是他听到的时候就没有了,而是像卧室中一样清晰。


- 声境融合的实现方式
这里只能简单说明猜想,应该包含环境分析、声音捕捉、渲染输出。
声音环境分析。1方面可以通过摄像头和激光雷达扫描整个场景,根据光线反射情况辨别场景物体光滑程度,甚至是材质,进而提供渲染参数;另一方面有可能产品本身就有发声系统,可以发出超声波/次声波并且回收,直接分析音频的变化。或者是通过人物主动发声后,对回传收音再分析。我个人偏向于后者。
声音捕捉。一方面VisionPro在嘴边放置了6颗麦克风对说话的声源捕捉,这就拿到了没有被环境干扰的声音。另外苹果一定在VisionPro其它地方藏了麦克风,这些就是用来收集回传的声音,和用户发出的原声进行对比,分析使用环境。


渲染输出。当空间元素发声后,不仅是基于原有音频及其空间位置,渲染出实时环绕立体声,同时也要结合用户空间环境进行调整,再输入到用户耳朵里。而在FaceTime通话时,则是把原声传过去,由对方的visionOS进行融合渲染输出。


- 关于VisionPro BR空间音频的一些预期。
15度角的方位精准度。这里预计一般情况下,用户可以较为高效的获取声音方位,预计准确度在15度左右。相当于你将一张A4纸对折,放在距离你1m的位置,你能够分辨两个对角发出的声音是两个音源。人耳对于声音空间定位普遍在10度~15度。
不可预测的距离精准度。人耳对于声源的距离判断是难以预测的,绝大部分时候对于距离的判断依赖于主观意识和视觉辅助。例如你在家找不到手机了,打电话给自己,而手机就在客厅的沙发缝隙里。那么其实你优先判断了方位,然后视觉让你看到这个方位主要家具就是沙发,通过音色觉得有点闷,那就是在沙发缝隙里。再例如,你听到了犬吠,这时候你知道附近只有邻居家养了狗。所以你下意识就会认为,狗子在邻居家院子里吠叫。当你听到似乎有共鸣式的回音,那狗子应该是在楼道里叫吧。
但是苹果会努力还原这种响度和音色,具体还原度我不知道如何测量,等有机会了试试。


二、UI交互的音频设计
在现实物理世界中,力施加到物体,让物体产生型变,型变回弹产生震动,震动产生声音。

2.1 Vision App 音频反馈的作用
- 一般来说交互必须有反馈
在Mac中交互的反馈主要来自触控板的震动,键盘的手感。在iPhone中因为双眼几乎无时无刻不在盯着屏幕,所以反馈主要来自UI动效和画面切换。只有在虚拟键盘等物理模拟时需要音效,同时手机也提供震动反馈,所以随着用户对手机使用熟悉度变高,在用户使用手机期间,震动+UI动效也可以满足需求。

- 音效是visionOS第二重要的反馈方式
视觉反馈一定是visionOS第一重要的反馈方式。因为手眼交互没有其他外设,所以音效就是第二重要的反馈方式。UI的视觉反馈一般会因为性能网络出现延迟,所以音频要在此期间承担起对用户行为对反馈作用。

- 交互音频反馈一般作用于触发而不是结果
从声音的产生理解这个事儿,一般是物体接触导致型变,材质复原时产生震动,震动产生声音。所以虽然是窗口界面但是在visionOS平台上我们也要看成物体,声音就应该附加到点击上,也就是一般交互中的手指捏合时,或者说交互组件的click。

- 创建有意义的声音
用户在使用Vision时,应该时刻保持用户能听到声音。尤其是在VR模式下,一些环境声和白噪声也非常必要,否则会让用户感到无趣,甚至觉得App有问题。所以在整个App设计过程中,恰当的提供个性化音频,既能够提升体验又能够提升效率。


2.2 根据App性质决定音效多样性

- 声音设计的目标:for体验还是for效率
现在的App多种多样,但是你仍旧可以大致区分每一款应用是为了提升效率还是创造体验。并且应用中的每个功能依旧要考虑是为了提升效率还是提升体验。
当我们需要效率时,往往提供更加系统化、结构化的声音;当我们需要提升体验的时候,往往提供个性化、多样化的声音。
拿音乐类App举例。音乐是以体验为主的App,当年虾米音乐的设计就非常优秀,赢得了一众粉丝,甚至在曲库不足的情况下,还有人坚挺。但是所有音乐App在切歌时都不会提供音效,因为切歌是效率问题,切歌成功最好的反馈就是已经开始播放下一首歌了。


- 工具类App,使用系统音效
如果你的App就是纯粹的工具软件,例如什么科学计算器、浏览器、笔记本等,就是用系统提供的音效。系统的音效用户最熟悉,理解成本也更低,所以信息传达效率更高。


- 效率为主,兼顾体验,使用系统音效
如果你的App就是一个效率软件/专业软件,那就用系统音效。例如,offce系列,ppt中可以给用户提供音效,但是程序本身就是需要提升工作效率。那就使用系统声音。用户理解成本更低,信息传达效率更高。再如Adobe系列。


- 体验为主,兼顾效率,使用结构化定制音效+个性化音效
其实音乐类App就是一个很好的例子。我们再祭出虾米音乐,首页的tab导航的下划线都使用了跳动的声音符号。我们完全可以 为所有的UI交互创建一套基于钢琴键声的音效。从导航栏按键到筛选的细节按键,从功能的基础到细节,在钢琴中对应大字组到小字二组抽选音键声。

- 纯体验类App,个性化音效为主
这个就是以游戏类为主了,例如广为人知的王者荣耀。不仅每个英雄都有定制化语音,而且在游戏不同进程也会说不同的话;不仅每个技能有个性化设计的音效,甚至不同皮肤也会改变技能音效。这时候音效就不仅仅限制在UI交互了,构建沉浸式场景才是音效需求大头。



2.3 音效的空间化设计思路

- 强调真实感和效率时,优先把音频挂载到元素上
当音频挂载在元素上时,一方面我们能够听声辨位增强物体的存在感,同时也能通过声音大小判断距离。就像交响乐指挥官,你可以清晰的分辨出大提琴、小号等演奏者的位置。
UI元素也是一样,大脑将音源方位的判断和目光看到的动效反馈得到的一致性,能更强的增加确认感/真实感。这也是更好的利用了空间音频特性。


- 强调情绪感和氛围时,优先使用无指向的环境声
就像电影中经常会有bgm,我们真的没有必要通过对bgm的判断,找到是不是真的有个人在场景中唱歌。就像没必要在看《菊次郎的夏天》时,找到藏在角落里弹钢琴的久石让。bgm就是为了激发用户情绪,一个点音源反而让用户出戏。


- 以上两种思路可以同时存在
就像电影一样,全景声和BGM不冲突。


- 为听起来是长时间重复的声音 创造变化
深圳之声“当当当”是一种经典的噪音,与之有异曲同工之妙的还有iPhone的雷达闹钟,专治低血压。
在visionOS中可以解释的更清楚一些,重复的声音理解为一个较短的音频片段循环播放,而没有变化则同时具备在空间中固定的位置。根据上文的推测,VisionPro区分两个声音最小在15度。所以,UI元素因为一直跟随界面变化,并且我们也不会固定频率的触发,那使用同一套音频没有问题。
当转化到虚拟键盘声时,就不一样了。用户无法分辨相邻到几个按键的空间位置,同时一般人打字时很容易出现相对固定的按键节奏。这时候就需要给每个按键提供略有差异的声音,降低用户的烦躁感。这也会带来另外一个收益,用户通过声音可以判断自己是在按同一个键还是不同的键。在计算器和座机拨号数字键就采用了这种做法,这种能力在智能手机的拨号中依旧保留。


所以,可以通过使用同一个音频片段(根据用户触发度速度力度调节?一般不用),随机音频的音高和音量,就不用创建不同的文件了。


三、VR模式的音频设计
这里的VR模式是指visionOS Full Spaces中虚拟场景,一堆定词说起来太麻烦,就叫VR模式。

3.1 VR模式vsUI交互

- VR场景中一定要有声音
如果环境安静到0分贝,你怎么区分是自己聋了,还是环境真的太过安静?听到声音其实是一种安全需求,非常底层的需求,无法听到声音相当于生理问题。听到VR场景中的环境声至少保证了12%的真实感。


- 使用个性化音效
我们在第二章-第二节说明了根据App的性质来决定音效的多样性,这里VR模式就是对应其中体验类场景,我们在使用VR场景时,中心就是为用户打造一个新的空间,这里就要尽可能的重塑场景的元素。而使用系统声音就会非常出戏。


- 在拟真的场景使用空间音频
如果我们设计的场景本身就是非常拟真的,那么我们就尽量吧场景中的声音挂载到对应元素上,这样用户就能感受到空间音频。用户能够听声辩位能提升用户的沉浸度。


- 在虚幻的场景提供跟头声音
虽然正念App在我看来像新版的气功,他们都可以给使用者赋予一种感觉。而在创造感觉时,我们需要的声音往往是空灵的,虚无的,无音源的。所以如果要塑造一些白噪声,那就不要把音频挂载到物体上,可以使用全景声将音频放在距离用户较远的地方。



3.2 声音源于现实又高于现实

- 从实地采集声音
当我们试图构建一个真实的场景时,一个必要的环节就是真的去现场。在现场通过拍照,拍摄视频,扫描模型,等等方式,把场景记录下来,回到公司通过建模软件等进行还原。当我们采集视觉画面的时候,也要尽量采集声音。声音和场景的匹配十分重要。


- 使用场景中应有的声音,而不是原声
就像我们现实去影院看电影,原以为就是沉浸的杜比全景声,实际上是聊天声、小孩的哭闹声、零食塑料袋摩擦声、时不时的手机铃声此起彼伏。犹如我们呆在图书馆看书,原以为是书本的翻页声、稀疏的脚步声、鼻尖摩擦纸张的沙沙声,实际上聊天声、咳嗽声、小孩子的喊叫声、卡门禁的警报声、时不时的手机铃声。
所以我们虽然采集了场景的原声,但是实际上还是需要进行加工处理。达到用户期望的状态,干掉不和谐的声音。



3.3 VR场景声音的布置

- 为了构建场景声可以先把声音进行分类。
从体验角度把声音分割:底声、效果声、功能声
底声。对于一直存在且连续播放,或者说没有物体空间指向性的声音称之为底声。例如,在河边的底声就可以是流水声;下雨天的场景就是水滴落声;虚拟游戏场景就可以是bgm。
效果声。被动触发且无规律的声音。对于用户来讲是非必要触发的声音,或者说无意识触发,但是物理规律就是会触发的声音。例如,晚上的河边有青蛙的叫声,蟋蟀的叫声;下雨天有人经过的声音,雷声;游戏场景中人潮中簌簌的对话声,集市上的叫卖声。
功能声。用户主动触发且需要明确反馈的声音。例如,用户将虚拟桌子上的水杯摔碎的玻璃破裂声,FPS枪械的射击声,视频播放时的所有声音。

- 把底声放到场景中
一般将声音放到场景中较远的距离,尽量避免方位变化,虽然visionOS提供了VR模式,但是实际上用户的安全区很小,所以放到用户耳朵相对距离也行。但是要注意控制整体的音量,并且底声最好用一个较长的音频,保证用户短时间听不出循环,且尽量布置一些低音,以免变成噪声。

- 把非触发效果声挂载到方位上
场景中总要有一些一眼看不出规律的声音,人才会觉得自然。所以在河边的场景我们会放置青蛙声,蟋蟀声,鱼儿在水面的拍打声等等。因为这些声音都是隐藏在环境中的,所以没有必要设置具体的距离,只要在方位上做差异,通过声音的大小设置距离。(当然贴脸肯定不行,大致3/5m吧)当然声音本身要保持随机,包括方位和响度,不然就变成了噪音。

- 功能声用UI交互音频思路处理
功能声其实就是上面提到的UI交互音频中个性化设计的部份。你做个塔防游戏,用枪射击声就放在枪上,敌人被击中给个音效,敌方死亡再啊一声,打完来一个系统声音victory。

3.4 VR模式的场景冲突处理

- 媒体声音优先级>VR场景声
当你的应用本身就是一个音乐App或者视频App,当播放音乐/播放视频时,直接放弃VR模式的场景声。visionOS的基本思路还是先聊有用,再聊体验。


- VR场景声跟随VR沉浸度变化
这里是我的推测,VR模式下场景声仅在完整VR沉浸模式可用。Apple VisionPro支持通过表冠平滑的过渡VR模式和聚焦模式。VR模式的场景音频仅在全部是VR场景时才会出现,应该是visionOS默认控制的。我们知道当他人走进时,eyesight会让他人在VR场景中淡入出现。我推测这时候也是非完整VR沉浸模式,VR场景声依旧会被暂停。


- 一种特殊情况,VR模式依旧使用场景声
这里说起来可能有点拗口,用户在share spaces(共享空间,窗口模式)时不能针对性改变现实物体,而在Full spaces时(聚焦模式/VR模式),场景又会改变色调/或者虚拟化。我们从VR演进到MR时,看到了很多在墙上开洞,该天花板等设计。苹果也是这个思路,就是把现实场景实时扫描,当成一种VR模式的一个场景,只是这个场景就是现实场景。对于做VR的人或许有点绕,但是从visionOS的角度理解就还可以。
在这个模式下,虽然并非全沉浸但是依旧是VR模式,所以仍然可以长驻底声/场景声。



四、音效与震动

- 音效和震动是伴生关系
在现实物理世界中,力施加到物体,让物体产生型变,型变回弹产生震动,震动产生声音。在一般UI交互中震动和音效应该同时存在。虽然当前Vision系列是裸手交互为主,但是我认为就像Apple pencil扩展了iPad日常使用场景一样,以后依旧会有类似当下的VR手柄适配,带来宽频震动马达和自适应板机。(当然,也有可能是触感手套。)所以这里提前把震动聊了。

- 优先匹配个性化音效的UI交互
UI交互都是用户主动触发,所以当UI交互出现型变的时候都应该有手柄的震动。但是当用户注重效率时,震动作为一种手上的感知是远离视觉目标的,这时候震动可能会分散用户注意力。所以震动是一种体验式设计,优先匹配UI交互中的个性化音效。震动幅度其实依旧可以按照声效判断,一般情况下系统化结构化声音采用短震。

- 手触摸交互一般都需要震动
手上的感受器是相当灵敏的,所以当用户用手直接接触物体,并且明显产生了作用力,抓握推拽砸,就需要匹配相应的震动。

- 手上工具和其他物品交互需要震动
当我们手持工具时,再用工具间接接触其他物体,并且明显产生了作用力。例如,刘华强持刀砍生瓜蛋子,你开车撞了,需要匹配相应的震动。


- VR模式环境声中爆破声 重低音需要震动
就像电影中爆炸产生的气浪把人推远了。声音是一种横波,通过空气传播到其他物体就会带着其他物体一起震动。一般认为响度越大振幅越大,就有可能通过气压让你手震动。
一般来讲随着距离的增加,频率越高的声音衰减越快,所以我们听到引擎声,飞机的轰鸣声,普遍偏向低频。虽然在现实生活中,声音的形成一般包含各种频率。但是在VR中可以控制声音的频率,来模拟震动。例如,角色站在疾驰的火车边上,虽然没有实际接触,手柄依旧可以提供震动。



五、文章说明
- 集合说明
关于Apple Vision提供的设计内容,官方给出的信息相对错综复杂。这是第四篇,本文基本由我个人整理,难免有错漏之处,若发现往指正讨论,共同学习。
- 个人说明
微信公众号:九棱镜的笔记
个人微信:likangmax(添加请说明来意)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存