CN114307157A - 虚拟场景中的声音处理方法、装置、设备及存储介质 - Google Patents
虚拟场景中的声音处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114307157A CN114307157A CN202111650772.6A CN202111650772A CN114307157A CN 114307157 A CN114307157 A CN 114307157A CN 202111650772 A CN202111650772 A CN 202111650772A CN 114307157 A CN114307157 A CN 114307157A
- Authority
- CN
- China
- Prior art keywords
- sound
- space
- target
- virtual
- sound source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请实施例公开了一种虚拟场景中的声音处理方法、装置、设备及存储介质,属于虚拟场景技术领域。该方法包括:获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得目标声音。上述方案极大的简化了计算过程,减少了资源占用量,从而提高了虚拟场景中的声音处理的效率。
Description
本申请要求于提交的2021年11月30日、申请号为202111443621.3、发明名称为“虚拟场景中的声音处理方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及虚拟场景技术领域,特别涉及一种虚拟场景中的声音处理方法、装置、设备及存储介质。
背景技术
目前,在一些游戏类应用程序中,比如,在对局类游戏中,通常会模拟现实环境中的声音效果。
在相关技术中,在模拟生成虚拟场景中的声音效果时,通常会在声源所在的空间模型内,实时的对声源发出的声音进行模拟时,通常利用几何声学的方式进行模拟,也就是说,利用几何射线的方式实时跟踪声源发出的声音在虚拟场景中的传播情况,进而模拟出各种声学效果。
然而,虚拟场景中的声学区域通常复杂且数量繁多,通过几何声学进行模拟的方式需要实时跟踪声音的传播路线,导致计算量较大,进而导致资源占用量较大,影响虚拟场景中的声音处理的效率。
发明内容
本申请实施例提供了一种虚拟场景中的声音处理方法、装置、设备及存储介质,能够提高虚拟场景中的声音处理的效率。所述技术方案如下:
一方面,本申请实施例提供了一种虚拟场景中的声音处理方法,所述方法包括:
获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;所述封闭属性用于指示所述虚拟空间是否为封闭空间;所述接收点位置包括目标终端控制的虚拟对象在所述虚拟场景中的位置;
基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;
基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音。
另一方面,本申请实施例提供了一种虚拟场景中的声音处理装置,所述装置包括:
第一获取模块,用于获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;所述封闭属性用于指示所述虚拟空间是否为封闭空间;所述接收点位置包括目标终端控制的虚拟对象在所述虚拟场景中的位置;
空间类型获取模块,用于基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;
声音处理模块,用于基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音。
在一种可能的实现方式中,所述空间类型获取模块,用于,
响应于目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之内,获取所述目标虚拟空间的空间类型为第一空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之外,获取所述目标虚拟空间的空间类型为第二空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为非封闭空间,获取所述目标虚拟空间的空间类型为第三空间类型;
其中,所述目标虚拟空间是各个所述虚拟空间中的任意一个。
在一种可能的实现方式中,所述声音处理模块,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第一声音效果,获得所述目标声音;
其中,所述第一声音效果包括阻挡效果、反射效果以及混响效果中的至少一种;
所述第一条件包括:所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型。
在一种可能的实现方式中,所述声音处理模块,用于,
对所述直达声添加阻挡音效,获得阻挡声;
对所述早期反射声添加后期混响音效,获得混响声;
基于所述早期反射声、所述阻挡声以及所述混响声获取所述目标声音。
在一种可能的实现方式中,所述声音处理模块,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第二声音效果,获得所述目标声音;
其中,所述第二声音效果包括透射效果、衍射效果以及混响效果中的至少一种;
所述第二条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型。
在一种可能的实现方式中,所述声音处理模块,用于,
生成与所述目标声源对应的直达声和混响声;
对所述直达声和所述混响声添加透射音效,获得透射声;
对所述混响声添加衍射音效,获得衍射声;
基于所述透射声以及所述衍射声获取所述目标声音。
在一种可能的实现方式中,所述声音处理模块,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第三条件,对所述目标声源发出的声音添加第三声音效果,获得所述目标声音;
其中,所述第三声音效果包括阻挡音效;
所述第三条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型。
在一种可能的实现方式中,所述声音处理模块,用于,
生成与所述目标声源对应的直达声;
对所述直达声添加阻挡音效,获得所述目标声音。
在一种可能的实现方式中,所述装置还包括:
增益设置模块,用于基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益;
所述声音处理模块,用于基于所述接收点位置所在的所述虚拟空间的空间类型、目标声源所在的所述虚拟空间的空间类型、以及所述目标声源的音量增益,对所述目标声源发出的声音添加音效,获得所述目标声音。
在一种可能的实现方式中,所述音量增益包括以下增益中的至少一种:
直达声的增益、阻挡声的增益、混响声的增益以及衍射声的增益。
在一种可能的实现方式中,所述增益设置模块,用于,
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型,设置所述目标声源的直达声的音量增益为1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,设置所述目标声源的直达声的音量增益为a,0<a<1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型,设置所述目标声源的直达声的音量增益为b,0<b<1。
在一种可能的实现方式中,所述增益设置模块,用于响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,且所述目标声源所在的所述虚拟空间与所述接收点位置所在的所述虚拟空间之间存在连接口,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于,
将所述目标声源的混响声以及衍射声中的至少一种声音的音量增益设置为固定值;
或者,基于所述目标声源与所述接收点位置之间的距离,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型或者所述第三空间类型,设置所述目标声源的阻挡声的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于,
获取所述目标声源与所述接收点位置之间的阻挡值,所述阻挡值用于指示所述目标声源与所述接收点位置之间的阻挡程度;
基于所述目标声源与所述接收点位置之间的阻挡值,设置所述目标声源的阻挡声的音量增益。
另一方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如上述方面所述的虚拟场景中的声音处理方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如上述方面所述的虚拟场景中的声音处理方法。
另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的虚拟场景中的声音处理方法。
本申请实施例提供的技术方案的有益效果至少包括:
结合虚拟场景中各个虚拟空间的封闭属性,以及接收点在虚拟场景中的位置,实时确定各个虚拟空间的空间类型,然后基于各个虚拟空间的空间类型,以及接收点和声源的位置,对声源发出的声音进行音效处理,在此过程中不需要对声源发出的声音进行跟踪,极大的简化了计算过程,减少了资源占用量,从而提高了虚拟场景中的声音处理的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请一个示例性实施例提供的实施环境的示意图;
图2是本申请一个示例性的实施例提供的虚拟场景的显示界面示意图;
图3是本申请一示例性实施例提供的虚拟场景中的声音处理方法的流程图;
图4是本申请一示例性实施例提供的虚拟场景中的声音处理方法的流程图;
图5是图4所示实施例涉及的虚拟场景到UVW转换的实例图;
图6是图4所示实施例涉及的声音效果原理图;
图7是图4所示实施例涉及的系统模块的交互图;
图8是图4所示实施例涉及的UVW系统的系统框架图;
图9是图4所示实施例涉及的一种声音渲染处理示意图;
图10是图4所示实施例涉及的另一种声音渲染处理示意图;
图11是图4所示实施例涉及的又一种声音渲染处理示意图;
图12是本申请一示例性实施例示出的虚拟场景中的声音处理装置的方框图;
图13是本申请一个示例性实施例提供的计算机设备的结构框图;
图14是本申请一示例性实施例示出的计算机设备的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境可以包括:第一终端110、服务器120和第二终端130。
第一终端110安装和运行有支持虚拟环境的应用程序111,该应用程序111可以是多人在线对战程序。当第一终端运行应用程序111时,第一终端110的屏幕上显示应用程序111的用户界面。该应用程序111可以是多人在线战术竞技游戏(Multiplayer OnlineBattle Arena Games,MOBA)、大逃杀对局游戏、生存游戏、模拟战略游戏(SimulationGame,SLG)的任意一种。在本实施例中,以该应用程序111是第一人称游戏来举例说明。第一终端110是第一用户112使用的终端,第一用户112使用第一终端110控制位于虚拟环境中的第一虚拟对象进行活动,第一虚拟对象可以称为第一用户112的主控虚拟对象。第一虚拟对象的活动包括但不限于:调整身体姿态、爬行、步行、奔跑、骑行、飞行、跳跃、驾驶、拾取、发射虚拟发射物、攻击、投掷、释放技能、材料/资源收集、建筑物建造中的至少一种。示意性的,第一虚拟对象是第一虚拟人物,比如仿真人物或动漫人物。
其中,第一人称游戏是指用户能够以第一人称视角进行的发射虚拟发射物的游戏,游戏中的虚拟环境的画面是以第一虚拟对象的视角对虚拟环境进行观察的画面。游戏中的各个虚拟对象可以与其它用户控制的虚拟对象进行组队协作或者对战。比如,在游戏的对战模式中,至少两个虚拟对象在虚拟环境中进行单局对战,虚拟对象通过躲避其他虚拟对象发起的伤害和虚拟环境中存在的危险(比如,毒气圈、沼泽地等)来达到在虚拟环境中存活的目的,当虚拟对象在虚拟环境中的生命值为零时,虚拟对象在虚拟环境中的生命结束。可选地,该对战以第一个客户端加入对战的时刻作为开始时刻,以最后一个客户端退出对战的时刻作为结束时刻,每个客户端可以控制虚拟环境中的一个或多个虚拟对象。可选地,该对战的竞技模式可以包括单人对战模式、双人小组对战模式或者多人大组对战模式,本申请实施例对对战模式不加以限定。
第二终端130安装和运行有支持虚拟环境的应用程序131,该应用程序131可以是多人在线对战程序。当第二终端130运行应用程序131时,第二终端130的屏幕上显示应用程序131的用户界面。该客户端可以是MOBA游戏、大逃杀对局游戏、生存游戏、SLG游戏中的任意一种,在本实施例中,以该应用程序131是第一人称游戏来举例说明。第二终端130是第二用户132使用的终端,第二用户132使用第二终端130控制位于虚拟环境中的第二虚拟对象进行活动,第二虚拟对象可以称为第二用户132的主控虚拟角色。示意性的,第二虚拟对象是第二虚拟人物,比如仿真人物或动漫人物。
可选地,第一虚拟对象和第二虚拟对象处于同一虚拟世界中。可选地,第一虚拟对象和第二虚拟对象可以属于同一个阵营、同一个队伍、同一个组织、具有好友关系或具有临时性的通讯权限。可选的,第一虚拟对象和第二虚拟对象可以属于不同的阵营、不同的队伍、不同的组织或具有敌对关系。
其中,虚拟对象是指在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、虚拟载具中的至少一种。可选地,当虚拟场景为三维虚拟场景时,虚拟对象是基于动画骨骼技术创建的三维立体模型。每个虚拟对象在三维虚拟场景中具有自身的形状、体积以及朝向,并占据三维虚拟场景中的一部分空间。
可选地,第一终端110和第二终端130上安装的应用程序是相同的,或两个终端上安装的应用程序是不同操作系统平台(安卓或IOS)上的同一类型应用程序。第一终端110可以泛指多个终端中的一个,第二终端130可以泛指多个终端中的另一个,本实施例仅以第一终端110和第二终端130来举例说明。第一终端110和第二终端130的设备类型相同或不同,该设备类型包括:智能手机、平板电脑、电子书阅读器、MP3(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机中的至少一种。
图1中仅示出了两个终端,但在不同实施例中存在多个其他终端可以接入服务器120。可选地,还存在一个或多个终端是开发者对应的终端,在该终端上安装有支持虚拟环境的应用程序的开发和编辑平台,开发者可在该终端上对应用程序进行编辑和更新,并将更新后的应用程序安装包通过有线或无线网络传输至服务器120,第一终端110和第二终端130可从服务器120下载应用程序安装包实现对应用程序的更新。
第一终端110、第二终端130以及其他终端通过无线网络或有线网络与服务器120相连。
服务器120包括一台服务器、多台服务器组成的服务器集群、云计算平台和虚拟化中心中的至少一种。服务器120用于为支持三维虚拟环境的应用程序提供后台服务。可选地,服务器120承担主要计算工作,终端承担次要计算工作;或者,服务器120承担次要计算工作,终端承担主要计算工作;或者,服务器120和终端之间采用分布式计算架构进行协同计算。
在一个示意性的例子中,服务器120包括存储器121、处理器122、对战服务模块124、面向用户的输入/输出接口(Input/Output Interface,I/O接口)125。其中,处理器122用于加载服务器120中存储的指令,处理对战服务模块124中的数据;对战服务模块124用于提供多个对战房间供用户进行对战,比如1V1对战、3V3对战、5V5对战等;面向用户的I/O接口125用于通过无线网络或有线网络和第一终端110和/或第二终端130建立通信交换数据。
其中,虚拟场景可以是三维虚拟场景,或者,虚拟场景也可以是二维虚拟场景。虚拟场景是应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真环境场景,也可以是半仿真半虚构的三维环境场景,还可以是纯虚构的三维环境场景。虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还可用于至少两个虚拟角色之间的虚拟场景对战。可选地,该虚拟场景还可用于至少两个虚拟角色之间使用虚拟道具进行对战。可选地,该虚拟场景还可用于在目标区域范围内,至少两个虚拟角色之间使用虚拟道具进行对战,该目标区域范围会随虚拟场景中的时间推移而不断变小。
虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件(比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
请参考图2,其示出了本申请一个示例性的实施例提供的虚拟场景的显示界面示意图。如图2所示,虚拟场景的显示界面包含场景画面200,该场景画面200中包括当前控制的虚拟对象210、三维虚拟场景的环境画面220、以及虚拟对象240。其中,虚拟对象240可以是其它终端对应用户控制的虚拟对象或者应用程序控制的虚拟对象。
在图2中,当前控制的虚拟对象210与虚拟对象240是在三维虚拟场景中的三维模型,在场景画面200中显示的三维虚拟场景的环境画面为当前控制的虚拟对象210的视角所观察到的物体,示例性的,如图2所示,在当前控制的虚拟对象210的视角观察下,显示的三维虚拟场景的环境画面220为大地224、天空225、地平线223、小山221以及厂房222。
当前控制的虚拟对象210可以在用户的控制下进行技能释放或者虚拟道具的使用,移动以及执行指定动作,在用户的控制下虚拟场景中的虚拟对象可以展示不同的三维模型,比如,终端的屏幕支持触控操作,且虚拟场景的场景画面200中包含虚拟控件,则用户触控该虚拟控件时,当前控制的虚拟对象210可以在虚拟场景执行指定动作并且展示当前对应的三维模型。
图3示出了本申请一示例性实施例提供的虚拟场景中的声音处理方法的流程图。该虚拟场景中的声音处理方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者该计算机设备也可以包含上述终端和服务器。如图3所示,该虚拟场景中的声音处理方法,包括:
步骤310,获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;封闭属性用于指示虚拟空间是否为封闭空间;接收点位置包括目标终端控制的虚拟对象在虚拟场景中的位置。
在本申请实施例中,虚拟空间是指虚拟场景中预先设置的声学空间,也可以称为房间(Room)。
接收点(Listener)在虚拟场景中的位置可以称为接收点位置。在虚拟场景中,接收点可以是一个由目标终端控制的虚拟对象在虚拟场景中的位置。比如,虚拟对象是用户通过终端控制的虚拟角色,该虚拟角色在虚拟场景中的位置即为上述接收点位置。
步骤320,基于各个虚拟空间的封闭属性,以及接收点位置,获取各个虚拟空间的空间类型。
在本申请实施例中,虚拟场景中的各个虚拟空间可以分别具有对应的封闭属性,用来表示该虚拟空间是否是封闭的声学空间。
步骤330,基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音。
综上所述,本申请实施例所示的方案,结合虚拟场景中各个虚拟空间的封闭属性,以及接收点在虚拟场景中的位置,实时确定各个虚拟空间的空间类型,然后基于各个虚拟空间的空间类型,以及接收点和声源的位置,对声源发出的声音进行音效处理,在此过程中不需要对声源发出的声音进行跟踪,极大的简化了计算过程,减少了资源占用量,从而提高了虚拟场景中的声音处理的效率。
图4示出了本申请一示例性实施例提供的虚拟场景中的声音处理方法的流程图。该虚拟场景中的声音处理方法可以由计算机设备执行,该计算机设备可以是终端,也可以是服务器,或者该计算机设备也可以包含上述终端和服务器。如图4所示,该虚拟场景中的声音处理方法,包括:
步骤410,获取虚拟场景中的各个虚拟空间的封闭属性;该封闭属性用于指示虚拟空间是否为封闭空间。
其中,上述虚拟空间的封闭属性可以是由开发人员预先设置的。比如,若一个虚拟空间为全封闭或者半封闭,开发人员可以设置该虚拟空间的封闭属性为封闭空间,相应的,若一个虚拟空间为未封闭,开发人员可以设置该虚拟空间的封闭属性为非封闭空间(或者说是开放空间)。
或者,上述虚拟空间的封闭属性也可以由应用程序进行设置,比如,当上述虚拟场景是应用程序自行生成的场景时,应用程序可以对虚拟场景进行空间划分(比如按照地形或者空间结构进行划分),并对划分得到的虚拟空间自动设置封闭属性。比如,若应用程序划分出的一个虚拟空间为全封闭或者半封闭,应用程序可以设置该虚拟空间的封闭属性为封闭空间,相应的,若应用程序划分出的一个虚拟空间为未封闭,应用程序可以设置该虚拟空间的封闭属性为非封闭空间。
步骤420,获取接收点位置;接收点位置包括目标终端控制的虚拟对象在虚拟场景中的位置。
在本申请实施例中,虚拟场景中的生成的声音通常需要传输到终端中进行播放,并且,对于控制不同的虚拟对象的终端,其播放的声音效果取决于对应的虚拟对象在虚拟场景中的位置,因此,对于给定的目标终端,计算机设备可以将该目标终端控制的虚拟对象在虚拟场景中的位置作为上述接收点位置。
步骤430,基于各个虚拟空间的封闭属性,以及接收点位置,获取各个虚拟空间的空间类型。
在本申请实施例中,计算机设备可以基于各个虚拟空间的封闭属性,以及接收点位置所在的虚拟空间(或者说是接收点位置与各个虚拟空间的所属关系),获取各个虚拟空间的空间类型。
在一种可能的实现方式中,基于各个虚拟空间的封闭属性,以及接收点位置,获取各个虚拟空间的空间类型,包括:
响应于目标虚拟空间的封闭属性指示目标虚拟空间为封闭空间,且接收点位置位于目标虚拟空间之内,获取目标虚拟空间的空间类型为第一空间类型;在本申请实施例中可以称为U空间;
响应于目标虚拟空间的封闭属性指示目标虚拟空间为封闭空间,且接收点位置位于目标虚拟空间之外,获取目标虚拟空间的空间类型为第二空间类型;在本申请实施例中可以称为V空间;
响应于目标虚拟空间的封闭属性指示目标虚拟空间为非封闭空间,获取目标虚拟空间的空间类型为第三空间类型;在本申请实施例中可以称为W空间;
其中,目标虚拟空间是各个虚拟空间中的任意一个。
在本申请实施例中,虚拟场景中每个封闭的虚拟空间的空间类型,由接收点所在的虚拟空间来决定。也就是说,随着声源的移动,每个封闭的虚拟空间的空间类型是动态变化的。对于某一个固定的封闭的虚拟空间,由于在不同的时刻,声源的位置可能处于该虚拟空间内,也可能处于该虚拟空间外,相应的,该虚拟空间在不同时刻的空间类型也可能不同。
以上述虚拟场景是游戏场景为例,在本申请实施例中,游戏内的声音播放场景可以概况为由声源,接收器和声学空间三个要素组成:
1)声源(Source):播放声音的对象。
每个声源可以同时播放多个声音,播放场景内一般包含多个声源,声源之间相互独立。
2)接收器(Listener):接收所有声源播放声音的对象。
对应给定的终端来说,播放场景通常有一个接收器,所有声源播放的声音经过各种处理后,混合输出给接收器。
3)声学空间(Room):具有独立的声学效果区域抽象为声学空间。
任意的封闭或者不完全封闭的区域,如场景内的各种仓库,房屋和山洞等需要表现空间声学效果的区域都可以抽象为Room。同时为模拟声音衍射效果,一般Room之间会通过连接口(Portal)进行连接。
在本申请实施例中,虚拟场景中包含Source的空间Room都需要进行声学效果的模拟计算。当Source数量比较多且分布在不同的Room时,整体空间声学的运算量就特别大。因此这种情况的空间声学的计算复杂度可以视为包含Source的Room数量,表示为:O(n)。
根据各Source与Listener所在的Room的相对位置关系,同时兼顾对声音传播过程中的空间声学效果模拟,整个场景区域可以用U、V和W三个空间来表示。三个空间定义如下:
U空间:Listener所在的封闭Room空间,在U空间内,Source播放的音频可以具有混响效果;
V空间:不包含Listener的封闭Room空间,在V空间Source播放的音频可以具有混响和衍射效果;
W空间:非封闭的空间,当Listener位于W空间时,W空间的Source播放的音频可以具有阻挡效果;当Listener位于U空间时,W空间的Source播放的音频可以具有衍射效果。
虚拟场景区域经过UVW空间进行表示后,整体的的混响和反射等空间效果计算量与3种Room类型有关,此时的空间声学的计算复杂度从O(n)降低为O(1),有效的减少了空间声学的性能消耗。
请参考图5,其示出了本申请实施例涉及的虚拟场景到UVW转换的实例图。如图5所示,在图5上部分,Listener位于非封闭空间,场景内有四个空间,每个空间需要进行独立的声学效果计算。UVW转换后,整个场景只包含V和W两种空间;在图5下部分,Listener位于封闭空间,UVW转换后,整个场景包含U、V和W三种空间。当场景特别复杂时,独立的空间数量不可控,计算量特别大,经过UVW转换可以维持在最多3种空间的数量,保证声学效果计算量可控。
步骤440,基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音。
在一种可能的实现方式中,基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音,包括:
响应于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型满足第一条件,对目标声源发出的声音添加第一声音效果,获得目标声音;
其中,第一声音效果包括阻挡效果、反射效果以及混响效果中的至少一种;
第一条件包括:接收点位置所在的虚拟空间的空间类型为第一空间类型,且目标声源所在的虚拟空间的空间类型为第一空间类型。
在本申请实施例中,当接收点位置与声源位置处于同一个封闭的虚拟空间内时,比如,目标终端控制的虚拟对象和声源处于同一个房间内时,声源发出的声音可以经过房间墙壁的反射,并且反射声与声源发出的声音可能会混合形成混响,同时,声源与目标终端控制的虚拟对象之间的障碍物等因素也会削弱声源发出的声音,对此,在本申请实施例所示的方案中,对于声源和接收点位置处于同一个封闭的虚拟空间的情况,计算机设备可以对声源发出的声音进行处理,从而模拟出阻挡、反射以及混响中的至少一种声音效果。
在一种可能的实现方式中,对目标声源发出的声音添加第一声音效果,获得目标声音,包括:
对直达声添加阻挡音效,获得阻挡声;
对早期反射声添加后期混响音效,获得混响声;
基于早期反射声、阻挡声以及混响声获取目标声音。
其中,上述直达声可以是指声源发出后直接传播到接收点位置的声音;上述早期反射声可以是指声源发出后经过障碍物(比如墙壁)早期反射后的声音。
在一种可能的实现方式中,基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音,包括:
响应于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型满足第一条件,对目标声源发出的声音添加第二声音效果,获得目标声音;
其中,第二声音效果包括透射效果、衍射效果以及混响效果中的至少一种;
第二条件包括:
接收点位置所在的虚拟空间的空间类型为第一空间类型,且目标声源所在的虚拟空间的空间类型为第二空间类型;
或者,接收点位置所在的虚拟空间的空间类型为第三空间类型,且目标声源所在的虚拟空间的空间类型为第二空间类型。
在本申请实施例中,当接收点位置与声源位置分别处于不同的封闭的虚拟空间内或者,当接收点位置处于开放的虚拟空间,而声源位置处于封闭的虚拟空间内时,声源发出的直达声/反射声可能需要经过墙壁透射以及通道口/门口的衍射才能到达接收点位置。对此,在本申请实施例所示的方案中,对于声源处于封闭的虚拟空间,接收点位置处于另一个封闭或者开放的虚拟空间的情况,计算机设备可以对声源发出的声音进行处理,从而模拟出透射效果、衍射效果以及混响效果中的至少一种声音效果。
在一种可能的实现方式中,对目标声源发出的声音添加第二声音效果,获得目标声音,包括:
生成与目标声源对应的直达声和混响声;
对直达声和混响声添加透射音效,获得透射声;
对混响声添加衍射音效,获得衍射声;
基于透射声以及衍射声获取目标声音。
在一种可能的实现方式中,基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音,包括:
响应于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型满足第三条件,对目标声源发出的声音添加第三声音效果,获得目标声音;
其中,第三声音效果包括阻挡音效;
第三条件包括:
接收点位置所在的虚拟空间的空间类型为第一空间类型,且目标声源所在的虚拟空间的空间类型为第三空间类型;
或者,接收点位置所在的虚拟空间的空间类型为第三空间类型,且目标声源所在的虚拟空间的空间类型为第三空间类型。
在本申请实施例中,当声源处于开放的虚拟空间,而接收点位置处于开放或者封闭的虚拟空间时,声源发出的直达声可能需要经过障碍物的阻挡削弱才能到达接收点位置。对此,在本申请实施例所示的方案中,对于声源处于开放的虚拟空间,接收点位置处于另一个封闭或者开放的虚拟空间的情况,计算机设备可以对声源发出的声音进行处理,从而模拟出阻挡效果。
在一种可能的实现方式中,对目标声源发出的声音添加第三声音效果,获得目标声音,包括:
生成与目标声源对应的直达声;
对直达声添加阻挡音效,获得目标声音。
在本申请实施例中,上述各种情况下的声音效果仅做举例介绍,并不限定各种情况下具体的声音效果;也就是说,上述各种情况下的声音效果可以由开发人员自行按照需求进行设置。
在一种可能的实现方式中,计算机设备还可以基于目标声源所在的虚拟空间的空间类型,对目标声源设置音量增益;
上述基于接收点位置所在的虚拟空间的空间类型,以及目标声源所在的虚拟空间的空间类型,对目标声源发出的声音添加音效,获得目标声源在接收点位置处的目标声音,包括:
基于接收点位置所在的虚拟空间的空间类型、目标声源所在的虚拟空间的空间类型、以及目标声源的音量增益,对目标声源发出的声音添加音效,获得目标声音。
声源发出的声音经过反射、阻挡、混响、衍射等影响之后,其音量会有一定的损失,对此,在本申请实施例中,计算机设备在对目标声源发出的声音添加音效时,可以结合声源、接收点位置、以及声源和接收点位置所在的虚拟空间的空间类型,来确定目标声源的音量增益,并结合音量增益进行音效添加。
其中,上述音量增益,可以是在音效添加时,与目标声源对应的声音的音量系数。也就是说,在对目标声源发出的声音添加音效时,计算机设备可以在与目标声源对应的声音的音量的基础上乘以上述音量增益。
在一种可能的实现方式中,音量增益包括以下增益中的至少一种:
直达声的增益、阻挡声的增益、混响声的增益以及衍射声的增益。
其中,对于接收点位置接收到的,对声源相对应的声音中的不同声音成分,计算机设备可以分别设置对应的音量增益。
在一种可能的实现方式中,基于目标声源所在的虚拟空间的空间类型,对目标声源设置音量增益,包括:
响应于目标声源所在的虚拟空间的空间类型为第一空间类型,设置目标声源的直达声的音量增益为1;
响应于目标声源所在的虚拟空间的空间类型为第二空间类型,设置目标声源的直达声的音量增益为a,0<a<1;
响应于目标声源所在的虚拟空间的空间类型为第三空间类型,设置目标声源的直达声的音量增益为b,0<b<1。
在本申请实施例中,对于声源的直达声来说,当声源和接收点位置处于同一封闭的虚拟空间内时,声源和接收点位置之间的距离较近,此时可以不考虑阻挡效果,音量增益可以设置为1;当声源和接收点位置处于不同的封闭的虚拟空间内,或者,当声源处于开放的虚拟空间时,声源和接收点位置之间的距离可能较远,此时可以考虑阻挡效果,音量增益可以设置为小于1。
其中,上述a和b的值可以相同,也可以不同。
在一种可能的实现方式中,基于目标声源所在的虚拟空间的空间类型,对目标声源设置音量增益,包括:
响应于目标声源所在的虚拟空间的空间类型为第二空间类型,且目标声源所在的虚拟空间与接收点位置所在的虚拟空间之间存在连接口,设置目标声源的混响声以及衍射声中的至少一种声音的音量增益。
在本申请实施例中,对于声源和接收点位置分别位于两个封闭的虚拟空间,且这两个封闭的虚拟空间之间存在连接口的情况,声源发出的声音传播到接收点位置的过程中会产生混响声和衍射声,对此,计算机设备可以对混响声和衍射声设置音量增益。
在一种可能的实现方式中,设置目标声源的混响声的音量增益,包括:
将目标声源的混响声以及衍射声中的至少一种声音的音量增益设置为固定值;
或者,基于目标声源与接收点位置之间的距离,设置目标声源的混响声以及衍射声中的至少一种声音的音量增益。
其中,混响声/衍射声的音量增益可以设置为固定值(比如由开发人员设置),或者,混响声/衍射声的音量增益也可以基于目标声源与接收点位置之间的距离来确定,比如,上述混响声/衍射声的音量增益可以与声源和接收点位置之间的距离呈反相关,也就是说,声源和接收点位置之间的距离越大,音量增益越小。
在一种可能的实现方式中,基于目标声源所在的虚拟空间的空间类型,对目标声源设置音量增益,包括:
响应于目标声源所在的虚拟空间的空间类型为第一空间类型或者第三空间类型,设置目标声源的阻挡声的音量增益。
在本申请实施例中,当声源和接收点位置同处一个封闭的虚拟空间,或者,当声源处于开放的虚拟空间时,声源发出的声音传播到接收点位置的过程中会存在阻挡,对此,计算机设备可以对阻挡声设置音量增益。
在一种可能的实现方式中,设置目标声源的阻挡声的音量增益,包括:
获取目标声源与接收点位置之间的阻挡值,阻挡值用于指示目标声源与接收点位置之间的阻挡程度;
基于目标声源与接收点位置之间的阻挡值,设置目标声源的阻挡声的音量增益。
在本申请实施例中,上述阻挡值可以由声源与接收点位置之间距离和障碍物的材质确定。比如,计算机设备可以获取声源与接收点位置之间的距离,以及声源与接收点位置之间的障碍物信息(比如障碍物的材质、障碍物的厚度、障碍物的标识等等),根据获取到的距离和障碍物信息确定目标声源与接收点位置之间的阻挡值。
其中,上述通过距离和障碍物信息确定阻挡值的算法,以及阻挡值与音量增益之间的换算方式可以由开发人员预先设置,本申请实施例对于算法/换算方式的具体公式或流程不做限定。
在虚拟场景中,声源Source与Listener在相同的Room空间内播放声音,会具有空间混响声学效果,请参考图6,其示出了本申请实施例涉及的声音效果原理图。如图6左侧所示:空间内的混响效果可以通过依赖空间几何和位置的前期反射声,再叠加与空间尺寸相关的后期混响来模拟实现,如果两者之间还有阻挡,也会发生声音阻挡效果。如图6右侧所示:当Listener与Source不在相同的Room时,Source播放的声音到Listener传播过程中除了室内效果外,还具有声笼\阻挡或者衍射的声学效果。
声源Source和接收器Listener,以及声学空间Room等要素一般是在场景编辑时摆放和设置好。本申请实施例所示的方案,是在虚拟场景运行时进行实时处理,因此不影响传统的场景空间的声学模型摆放和设置流程。请参考图7,其示出了本申请实施例涉及的系统模块的交互图。以游戏为例,如图7所示:音频设计师编辑游戏场景71,根据效果需要,放置对应的声学模型72,主要包括空间Room,以及Room与Room之间连接口(也称为连通的门廊)Portal。游戏运行时,UVW系统73自动管理加载的Room和Portal,通过跟踪声源Source和接收器Listener的位置和Room切换,进行UVW判定,最后根据当前UVW状态下控制音频引擎74进行相应空间声学效果的渲染。
在本申请实施例中,UVW系统在游戏运行时工作,请参考图8,其示出了本申请实施例涉及的UVW系统的系统框架图。如图8所示,该系统包括UVW检测模块81,UVW管理模块82和UVW渲染模块83组成。
在图8中,游戏场景中包含Source,Listener,Room以及构成Room的几何面Geometry,Room之间的Portal构成整个游戏场景的声音播放元素。
UVW检测模块81,用于实时跟踪Source和Listener位置移动和Room切换,进行UVW转换。
UVW管理模块82,负责管理每个Room对应的队列元素。
UVW渲染模块83,用于根据各个Source的UVW状态进行空间声学效果渲染。UVW系统在控制性能消耗同时,保证空间声学效果,特别是保证了第一人称的空间效果。
基于图8所示的系统框架,UVW系统运行的具体流程如下:
1)注册VRoom和W Room,VRoom的ID=1,WRoom的ID=2。V Room作为混响空间,添加预设的混响效果,并设置对其它Room有部分阻挡,不具备尺寸和大小。W Room没有混响,对其它Room无阻挡。初始化U Room的ID=-1。其中,上述V Room的ID、WRoom的ID以及U Room的ID用来标识V Room、WRoom以及U Room。
2)场景内的Room加载时,添加到Room表:R=<RoomID,Room>,这些Room不会产生实际的空间声学效果,主要用于Source的空间判定。Room卸载时,从Room表移除。其中,RoomID在虚拟场景内唯一表示对应的Room。上述的V Room的ID、WRoom的ID以及U Room的ID,用来表示某个具体的Room所归属的Room类型。
3)场景内的Portal加载时,关联对应的Room,添加到Portal表:P=<Room ID,Portal>。Portal卸载时,从Portal表移除。
4)场景内的Source创建,添加到Source队列S={s1,…,Sn},通常情况Listener本身就是一个Source,所以可以统一管理。每个Source会独立跟踪位置移动,并检测对应所处的Room ID,形成Source表:S=<Source ID,Room ID>。当Source销毁时,从Source表移除。
5)遍历Source表S,可以获取对应的Listener,同时也就获取Listener所在的RoomID。
6)判断Listener所在的Room ID是否发生切换。如果Listener发生切换,重新注册U和VRoom对应的Listener。如果发生Room发生切换,先注销旧的Room ID和对应的几何面,更新U Room ID,如果Listener有新的Room,就再注册新的Room ID,设置Room的几何面。
7)对Source进行UVW分类管理:
(a)如果URoom ID>=0,则与Listener同Room的Source位于URoom,对应Source队列为US;与Listener不同Room的Source位于VRoom,对应Source队列为VS;其它不在Room的Source位于W Room,对应Source队列为WS;
(b)如果U Room ID<0,US队列为空,位于Room的Source位于VRoom,对应的Source队列为VS,与Listener相同的非Room内的Source均位于WRoom,对应的Source队列为WS。
8)遍历US队列,设置Source位于URoom内,恢复Source播放音量增益gain=1.0。
9)遍历VS队列,设置Source位于V Room内,设置Source播放音量增益gain=a,其中0<a<1。
10)遍历WS队列,设置Source位于W Room内,如果US为空,设置Source播放音量增益=1.0,如果US不为空,设置Source播放音量增益gain=b,其中0<b<1。
11)遍历VS队列,根据Source对应的Room ID和Portal表查找对应Portal,如果找到,检查Listener是否位于关联Portal区域内,如果在,则添加Source到衍射表D:<Source,Distance>,其中Distance为Listener与Portal区域的距离。
12)如果衍射表D不为空,遍历设置辅助发送通道,即Source与Listener之间额外进行音频传播,这条通道设置混响效果,同时设置音量增益level=c,其中0<c<1,也可以关联Distance控制增益,用于模拟衍射效果。
13)如果US不为空,遍历US队列,检测Listener与Source阻挡值;否则遍历WS队列,检测Listener与Source阻挡值,利用阻挡值设置阻挡音量衰减。
14)游戏继续运行,则跳转到第5)继续迭代运行。否则退出。
基于图8所示的系统框架,在UVW系统渲染中,可以具体有以下几种不同状态下的空间声学渲染情况:
1)Listener和Source位于URoom内,此时有早期反射和后期混响,阻挡三种空间声学效果。其声音渲染处理示意图如图9所示。
2)Listener位于URoom,Source位于VRoom;或者,Listener位于WRoom,Source位于VRoom。此时有混响,声笼(透射)和衍射三种空间声学效果。其声音渲染处理示意图10所示。
3)Listener位于URoom,Source位于W Room;或者,Listener位于WRoom,Source位于WRoom。此时有阻挡声学效果。其声音渲染处理示意图11所示。
综上所述,本申请实施例所示的方案,结合虚拟场景中各个虚拟空间的封闭属性,以及接收点在虚拟场景中的位置,实时确定各个虚拟空间的空间类型,然后基于各个虚拟空间的空间类型,以及接收点和声源的位置,对声源发出的声音进行音效处理,在此过程中不需要对声源发出的声音进行跟踪,极大的简化了计算过程,减少了资源占用量,从而提高了虚拟场景中的声音处理的效率。
本申请所示的方案提出一种虚拟空间声学效果播放优化的算法和系统。在不影响空间声学编辑功能的前提下,通过对虚拟空间的声学模型进行UVW转换和管理,并根据播放声源与接收器的UVW空间信息进行空间声学效果渲染。保证空间音频效果前提下,有效的控制空间声学效果的整体性能消耗,使得空间音频技术可以应用在移动端等设备上,极大增强了移动端等的音频沉浸感体验。
图12示出了本申请一示例性实施例提供的虚拟场景中的声音处理装置的方框图。该虚拟场景中的声音处理装置可以应用在计算机设备中,以执行如图3或图4所示的方法中的全部或者部分步骤。如图12所示,该虚拟场景中的声音处理装置,包括:
第一获取模块1201,用于获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;所述封闭属性用于指示所述虚拟空间是否为封闭空间;所述接收点位置包括目标终端控制的虚拟对象在所述虚拟场景中的位置;
空间类型获取模块1202,用于基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;
声音处理模块1203,用于基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音。
在一种可能的实现方式中,所述空间类型获取模块1202,用于,
响应于目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之内,获取所述目标虚拟空间的空间类型为第一空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之外,获取所述目标虚拟空间的空间类型为第二空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为非封闭空间,获取所述目标虚拟空间的空间类型为第三空间类型;
其中,所述目标虚拟空间是各个所述虚拟空间中的任意一个。
在一种可能的实现方式中,所述声音处理模块1203,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第一声音效果,获得所述目标声音;
其中,所述第一声音效果包括阻挡效果、反射效果以及混响效果中的至少一种;
所述第一条件包括:所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型。
在一种可能的实现方式中,所述声音处理模块1203,用于,
对所述直达声添加阻挡音效,获得阻挡声;
对所述早期反射声添加后期混响音效,获得混响声;
基于所述早期反射声、所述阻挡声以及所述混响声获取所述目标声音。
在一种可能的实现方式中,所述声音处理模块1203,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第二声音效果,获得所述目标声音;
其中,所述第二声音效果包括透射效果、衍射效果以及混响效果中的至少一种;
所述第二条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型。
在一种可能的实现方式中,所述声音处理模块1203,用于,
生成与所述目标声源对应的直达声和混响声;
对所述直达声和所述混响声添加透射音效,获得透射声;
对所述混响声添加衍射音效,获得衍射声;
基于所述透射声以及所述衍射声获取所述目标声音。
在一种可能的实现方式中,所述声音处理模块1203,用于响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第三条件,对所述目标声源发出的声音添加第三声音效果,获得所述目标声音;
其中,所述第三声音效果包括阻挡音效;
所述第三条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型。
在一种可能的实现方式中,所述声音处理模块1203,用于,
生成与所述目标声源对应的直达声;
对所述直达声添加阻挡音效,获得所述目标声音。
在一种可能的实现方式中,所述装置还包括:
增益设置模块,用于基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益;
所述声音处理模块1203,用于基于所述接收点位置所在的所述虚拟空间的空间类型、目标声源所在的所述虚拟空间的空间类型、以及所述目标声源的音量增益,对所述目标声源发出的声音添加音效,获得所述目标声音。
在一种可能的实现方式中,所述音量增益包括以下增益中的至少一种:
直达声的增益、阻挡声的增益、混响声的增益以及衍射声的增益。
在一种可能的实现方式中,所述增益设置模块,用于,
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型,设置所述目标声源的直达声的音量增益为1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,设置所述目标声源的直达声的音量增益为a,0<a<1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型,设置所述目标声源的直达声的音量增益为b,0<b<1。
在一种可能的实现方式中,所述增益设置模块,用于响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,且所述目标声源所在的所述虚拟空间与所述接收点位置所在的所述虚拟空间之间存在连接口,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于,
将所述目标声源的混响声以及衍射声中的至少一种声音的音量增益设置为固定值;
或者,基于所述目标声源与所述接收点位置之间的距离,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型或者所述第三空间类型,设置所述目标声源的阻挡声的音量增益。
在一种可能的实现方式中,所述增益设置模块,用于,
获取所述目标声源与所述接收点位置之间的阻挡值,所述阻挡值用于指示所述目标声源与所述接收点位置之间的阻挡程度;
基于所述目标声源与所述接收点位置之间的阻挡值,设置所述目标声源的阻挡声的音量增益。
综上所述,本申请实施例所示的方案,结合虚拟场景中各个虚拟空间的封闭属性,以及接收点在虚拟场景中的位置,实时确定各个虚拟空间的空间类型,然后基于各个虚拟空间的空间类型,以及接收点和声源的位置,对声源发出的声音进行音效处理,在此过程中不需要对声源发出的声音进行跟踪,极大的简化了计算过程,减少了资源占用量,从而提高了虚拟场景中的声音处理的效率。
图13示出了本申请一个示例性实施例提供的计算机设备1300的结构框图。该计算机设备1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。计算机设备1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,计算机设备1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个计算机指令,该至少一个计算机指令用于被处理器1301所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,计算机设备1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、显示屏1305、摄像头组件1306、音频电路1307和电源1309中的至少一种。
在一些实施例中,计算机设备1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、光学传感器1315以及接近传感器1316。
本领域技术人员可以理解,图13中示出的结构并不构成对计算机设备1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图14示出了本申请一示例性实施例示出的计算机设备1400的结构框图。该计算机设备可以实现为本申请上述方案中的防护阻断设备。所述计算机设备1400包括中央处理单元(Central Processing Unit,CPU)1401、包括随机存取存储器(Random Access Memory,RAM)1402和只读存储器(Read-Only Memory,ROM)1403的系统存储器1404,以及连接系统存储器1404和中央处理单元1401的系统总线1405。所述计算机设备1400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output系统,I/O系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。
所述基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中所述显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。所述基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器(未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读介质为计算机设备1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读寄存器(Erasable Programmable Read Only Memory,EPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-OnlyMemory,EEPROM)闪存或其他固态存储其技术,CD-ROM、数字多功能光盘(DigitalVersatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。
根据本公开的各种实施例,所述计算机设备1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条计算机指令,所述至少一条计算机指令存储于存储器中,中央处理器1401通过执行该至少一条计算机指令来实现上述各个实施例所示的方法中的全部或者部分步骤。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括至少一条计算机指令的存储器,上述至少一条计算机指令可由处理器执行以完成上述图3或图4任一实施例所示的方法的全部或者部分步骤。例如,非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
在一示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图3或图4任一实施例所示方法的全部或部分步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (19)
1.一种虚拟场景中的声音处理方法,其特征在于,所述方法包括:
获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;所述封闭属性用于指示所述虚拟空间是否为封闭空间;所述接收点位置包括目标终端控制的虚拟对象在所述虚拟场景中的位置;
基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;
基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音。
2.根据权利要求1所述的方法,其特征在于,所述基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型,包括:
响应于目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之内,获取所述目标虚拟空间的空间类型为第一空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为封闭空间,且所述接收点位置位于所述目标虚拟空间之外,获取所述目标虚拟空间的空间类型为第二空间类型;
响应于所述目标虚拟空间的封闭属性指示所述目标虚拟空间为非封闭空间,获取所述目标虚拟空间的空间类型为第三空间类型;
其中,所述目标虚拟空间是各个所述虚拟空间中的任意一个。
3.根据权利要求2所述的方法,其特征在于,所述基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音,包括:
响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第一声音效果,获得所述目标声音;
其中,所述第一声音效果包括阻挡效果、反射效果以及混响效果中的至少一种;
所述第一条件包括:所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型。
4.根据权利要求3所述的方法,其特征在于,所述对所述目标声源发出的声音添加第一声音效果,获得所述目标声音,包括:
对所述直达声添加阻挡音效,获得阻挡声;
对所述早期反射声添加后期混响音效,获得混响声;
基于所述早期反射声、所述阻挡声以及所述混响声获取所述目标声音。
5.根据权利要求2所述的方法,其特征在于,所述基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音,包括:
响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第一条件,对所述目标声源发出的声音添加第二声音效果,获得所述目标声音;
其中,所述第二声音效果包括透射效果、衍射效果以及混响效果中的至少一种;
所述第二条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标声源发出的声音添加第二声音效果,获得所述目标声音,包括:
生成与所述目标声源对应的直达声和混响声;
对所述直达声和所述混响声添加透射音效,获得透射声;
对所述混响声添加衍射音效,获得衍射声;
基于所述透射声以及所述衍射声获取所述目标声音。
7.根据权利要求2所述的方法,其特征在于,所述基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音,包括:
响应于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型满足第三条件,对所述目标声源发出的声音添加第三声音效果,获得所述目标声音;
其中,所述第三声音效果包括阻挡音效;
所述第三条件包括:
所述接收点位置所在的所述虚拟空间的空间类型为所述第一空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型;
或者,所述接收点位置所在的所述虚拟空间的空间类型为所述第三空间类型,且所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型。
8.根据权利要求7所述的方法,其特征在于,所述对所述目标声源发出的声音添加第三声音效果,获得所述目标声音,包括:
生成与所述目标声源对应的直达声;
对所述直达声添加阻挡音效,获得所述目标声音。
9.根据权利要求1至8任一所述的方法,其特征在于,所述方法还包括:
基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益;
所述基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音,包括:
基于所述接收点位置所在的所述虚拟空间的空间类型、目标声源所在的所述虚拟空间的空间类型、以及所述目标声源的音量增益,对所述目标声源发出的声音添加音效,获得所述目标声音。
10.根据权利要求9所述的方法,其特征在于,所述音量增益包括以下增益中的至少一种:
直达声的增益、阻挡声的增益、混响声的增益以及衍射声的增益。
11.根据权利要求10所述的方法,其特征在于,所述基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益,包括:
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型,设置所述目标声源的直达声的音量增益为1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,设置所述目标声源的直达声的音量增益为a,0<a<1;
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第三空间类型,设置所述目标声源的直达声的音量增益为b,0<b<1。
12.根据权利要求10所述的方法,其特征在于,所述基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益,包括:
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第二空间类型,且所述目标声源所在的所述虚拟空间与所述接收点位置所在的所述虚拟空间之间存在连接口,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
13.根据权利要求12所述的方法,其特征在于,所述设置所述目标声源的混响声的音量增益,包括:
将所述目标声源的混响声以及衍射声中的至少一种声音的音量增益设置为固定值;
或者,基于所述目标声源与所述接收点位置之间的距离,设置所述目标声源的混响声以及衍射声中的至少一种声音的音量增益。
14.根据权利要求10所述的方法,其特征在于,所述基于所述目标声源所在的所述虚拟空间的空间类型,对所述目标声源设置音量增益,包括:
响应于所述目标声源所在的所述虚拟空间的空间类型为所述第一空间类型或者所述第三空间类型,设置所述目标声源的阻挡声的音量增益。
15.根据权利要求14所述的方法,其特征在于,所述设置所述目标声源的阻挡声的音量增益,包括:
获取所述目标声源与所述接收点位置之间的阻挡值,所述阻挡值用于指示所述目标声源与所述接收点位置之间的阻挡程度;
基于所述目标声源与所述接收点位置之间的阻挡值,设置所述目标声源的阻挡声的音量增益。
16.一种虚拟场景中的声音处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取虚拟场景中的各个虚拟空间的封闭属性,以及接收点位置;所述封闭属性用于指示所述虚拟空间是否为封闭空间;所述接收点位置包括目标终端控制的虚拟对象在所述虚拟场景中的位置;
空间类型获取模块,用于基于各个所述虚拟空间的封闭属性,以及所述接收点位置,获取各个所述虚拟空间的空间类型;
声音处理模块,用于基于所述接收点位置所在的所述虚拟空间的空间类型,以及目标声源所在的所述虚拟空间的空间类型,对所述目标声源发出的声音添加音效,获得所述目标声源在所述接收点位置处的目标声音。
17.一种计算机设备,其特征在于,计算机设备包含处理器和存储器,所述存储器中存储由至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如权利要求1至15任一所述的虚拟场景中的声音处理方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如权利要求1至15任一所述的虚拟场景中的声音处理方法。
19.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令由计算机设备的处理器读取并执行,使得所述计算机设备执行如权利要求1至15任一所述的虚拟场景中的声音处理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021114436213 | 2021-11-30 | ||
CN202111443621 | 2021-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114307157A true CN114307157A (zh) | 2022-04-12 |
Family
ID=81018361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111650772.6A Pending CN114307157A (zh) | 2021-11-30 | 2021-12-30 | 虚拟场景中的声音处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114307157A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055983A (zh) * | 2022-08-30 | 2023-05-02 | 荣耀终端有限公司 | 一种音频信号处理方法及电子设备 |
-
2021
- 2021-12-30 CN CN202111650772.6A patent/CN114307157A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116055983A (zh) * | 2022-08-30 | 2023-05-02 | 荣耀终端有限公司 | 一种音频信号处理方法及电子设备 |
CN116055983B (zh) * | 2022-08-30 | 2023-11-07 | 荣耀终端有限公司 | 一种音频信号处理方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7177288B2 (ja) | 仮想オブジェクトの制御方法、装置、機器及びコンピュータプログラム | |
WO2021208614A1 (zh) | 虚拟对象的控制方法、装置、设备和存储介质 | |
US8784214B2 (en) | Method and system for establishing location-based leaderboard | |
JP2023538962A (ja) | 仮想キャラクタの制御方法、装置、電子機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム | |
CN111714886B (zh) | 虚拟对象的控制方法、装置、设备以及存储介质 | |
KR20210143301A (ko) | 가상 객체 제어 방법 및 장치, 디바이스, 및 저장 매체 | |
CN111589126A (zh) | 虚拟对象的控制方法、装置、设备及存储介质 | |
CN112245921B (zh) | 虚拟对象控制方法、装置、设备及存储介质 | |
KR102645535B1 (ko) | 가상 장면에서의 가상 객체 제어 방법 및 장치, 디바이스 그리고 저장 매체 | |
WO2022227936A1 (zh) | 虚拟场景的显示方法、虚拟场景的处理方法、装置及设备 | |
EP3575958B1 (en) | Object moving method and device, storage medium, and electronic device | |
US20230330530A1 (en) | Prop control method and apparatus in virtual scene, device, and storage medium | |
JP2024507595A (ja) | 仮想リソースの投入制御方法、装置、コンピュータ機器及び記憶媒体 | |
CN114307157A (zh) | 虚拟场景中的声音处理方法、装置、设备及存储介质 | |
CN112891939B (zh) | 联系人信息展示方法、装置、计算机设备及存储介质 | |
US20230285855A1 (en) | Virtual scene display method and apparatus, terminal, and storage medium | |
US20230086441A1 (en) | Method and apparatus for displaying picture in virtual scene, device, storage medium, and program product | |
US20220274017A1 (en) | Method and apparatus for displaying virtual scene, terminal, and storage medium | |
CN113018862B (zh) | 虚拟对象的控制方法、装置、电子设备及存储介质 | |
CN111939565A (zh) | 虚拟场景的显示方法、系统、装置、设备以及存储介质 | |
US20220199087A1 (en) | Speech to text conversion method, system, and apparatus, and medium | |
CN115282601A (zh) | 游戏声音混响处理方法、装置、计算机设备和存储介质 | |
CN114425163A (zh) | 虚拟对象的控制方法、装置、终端、存储介质及程序产品 | |
CN116966583A (zh) | 虚拟场景中ai角色的控制方法、装置、设备及存储介质 | |
CN117258295A (zh) | 虚拟空间的声音处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |