首页 > 乐器声学 专利正文
音频生成方法、装置、计算机设备和存储介质与流程

时间:2022-02-06 阅读: 作者:专利查询

音频生成方法、装置、计算机设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种音频生成方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机技术以及互联网技术的发展,元宇宙的实现需要融合音频、视频、感知等多方面的人工智能虚拟感知技术,构造出逼近真实世界感知的计算机虚拟空间,体验者借助一些硬件设备(例如耳机、眼镜、体感装备等),就可以体验到和真实世界无差别的感官感受。
3.然而,目前的音频生成方式中,重构虚拟空间音效时,在类似元宇宙应用的情况下,由于声源数量比较大,可能有几十上百个声源,所有声源的音频信号均需要分别进行立体声重构,而立体声重构的计算开销是比较大的,导致立体音频信号生成的计算开销会非常高,使得普通设备无法完成实时运算的要求,即便把计算模块转移到服务器实现,立体音频信号的生成也是非常耗费计算资源的。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够有效降低立体音频信号生成的计算开销的音频生成方法、装置、计算机设备和存储介质。
5.一种音频生成方法,所述方法包括:基于声源与目标对象之间的距离值,对所述声源的音频信号进行距离感处理,得到距离感音频信号;对处于相同网格区域内的所述声源的距离感音频信号进行混音处理,得到对应于每个所述网格区域的混音音频信号;基于所述网格区域内各所述声源的位置信息和音频权重值,确定声像中心;基于所述声像中心,对所述网格区域的混音音频信号进行立体声重构,得到立体音频信号;将所有所述立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
6.一种音频生成装置,所述装置包括:距离感处理模块,用于基于声源与目标对象之间的距离值,对所述声源的音频信号进行距离感处理,得到距离感音频信号;混音处理模块,用于对处于相同网格区域内的所述声源的距离感音频信号进行混音处理,得到对应于每个所述网格区域的混音音频信号;确定模块,用于基于所述网格区域内各所述声源的位置信息和音频权重值,确定声像中心;立体声重构模块,用于基于所述声像中心,对所述网格区域的混音音频信号进行立体声重构,得到立体音频信号;所述混音处理模块还用于将所有所述立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
7.在一个实施例中,所述装置还包括:构建模块和网格划分模块,构建模块,用于以所述目标对象为中心构建目标空间网络;网格划分模块,用于对所述目标空间网络进行均匀网格划分或非均匀网格划分,得到包括所述网格区域的目标空间网络。
8.在一个实施例中,所述装置还包括:获取模块和转换模块,获取模块,用于获取所
述声源的坐标信息;转换模块,用于当所述坐标信息为三维直角坐标信息时,将所述声源的坐标信息转换为所述球体化网络的经纬度信息;确定模块还用于在所述球体化网络中,基于所述经纬度信息确定所述声源所属的网格区域。
9.在一个实施例中,网格划分模块还用于对所述目标空间网络进行均匀网格划分,得到包括所述网格区域的目标空间网络;确定模块还用于确定所述目标对象对不同方位的音频感知精度值,不同所述方位的音频感知精度值不同;网格划分模块还用于依据所述音频感知精度值对所述目标空间网络进行网格划分,得到包括所述网格区域的目标空间网络。
10.在一个实施例中,确定模块还用于基于声源与目标对象之间的距离值,确定所述声源对应的增益值;距离感处理模块还用于基于所述增益值,对所述声源的音频信号进行衰减处理或者放大处理,得到所述声源的距离感音频信号。
11.在一个实施例中,获取模块还用于获取参考距离值和增益上限值;确定模块还用于基于所述参考距离值、所述增益上限值以及所述距离值,确定所述声源对应的距离增益值。
12.在一个实施例中,获取模块还用于获取所述网格区域内各所述声源的坐标值和音频权重值;确定模块还用于基于所述坐标值和所述音频权重值,确定所述网格区域的中心坐标值;将所述中心坐标值对应的位置作为所述网格区域的声像中心。
13.在一个实施例中,获取模块还用于获取所述网格区域内各所述声源的音频能量值;确定模块还用于基于所述音频能量值,确定所述网格区域内所有所述声源的总音频能量值;基于所述音频能量值和所述总音频能量值,确定所述网格区域内各所述声源的音频权重值。
14.在一个实施例中,所述装置还包括:查找模块用于查找与所述声像中心对应的激励信号;构建模块还用于基于所述激励信号和所述网格区域的混音音频信号,构建立体音频信号。
15.在一个实施例中,构建模块还包括:卷积处理单元,用于基于所述左声道激励信号,对所述网格区域的混音音频信号进行卷积处理,得到左声道音频信号;基于所述右声道激励信号,对所述网格区域的混音音频信号进行卷积处理,得到右声道音频信号。
16.在一个实施例中,确定模块还用于在目标空间网络内确定具有所述声源的网格区域;确定具有所述声源的网格区域的数量;混音处理模块还用于基于所述网格区域的数量,对所有所述立体音频信号的左声道音频信号进行混音处理,得到所述左声道混音音频信号;基于所述网格区域的数量,对所有所述立体音频信号的右声道音频信号进行混音处理,得到所述右声道混音音频信号。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:基于声源与目标对象之间的距离值,对所述声源的音频信号进行距离感处理,得到距离感音频信号;对处于相同网格区域内的所述声源的距离感音频信号进行混音处理,得到对应于每个所述网格区域的混音音频信号;基于所述网格区域内各所述声源的位置信息和音频权重值,确定声像中心;基于所述声像中心,对所述网格区域的混音音频信号进行立体声重构,得到立体音频信号;将所有所述立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
18.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:基于声源与目标对象之间的距离值,对所述声源的音频信号进行距离感处理,得到距离感音频信号;对处于相同网格区域内的所述声源的距离感音频信号进行混音处理,得到对应于每个所述网格区域的混音音频信号;基于所述网格区域内各所述声源的位置信息和音频权重值,确定声像中心;基于所述声像中心,对所述网格区域的混音音频信号进行立体声重构,得到立体音频信号;将所有所述立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
19.上述音频生成方法、装置、计算机设备和存储介质,基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号;对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号;基于网格区域内各声源的位置信息和音频权重值,确定声像中心;基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号;将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。由于将处于同一网格区域内的多个声源视作一体,即将处于相同网格区域内的多个声源经过距离感修正后进行混音得到一个新的单一声源,同时通过多个声源加权计算每个网格区域的声像中心,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以达到普通设备都能实现实时处理的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
附图说明
20.图1为一个实施例中音频生成方法的应用环境图;图2为一个实施例中音频生成方法的流程示意图;图3为一个实施例中以目标对象为球心构建球体化空间网络的效果示意图;图4为一个实施例中多声源的球网格化管理的示意图;图5为一个实施例中基于经纬度信息确定声源所属的网格区域步骤的流程示意图;图6为一个实施例中直角坐标信息转换经纬度信息的示意图;图7为一个实施例中hrtf立体声重构处理的示意图;图8为一个实施例中虚拟空间音效还原真实环境下的立体音频信号的应用场景示意图;图9为一个实施例中传统方式中虚拟立体声生成的流程图;图10为一个实施例中基于球网格化的多元虚拟立体音频信号生成方法的流程示意图;图11为一个实施例中音频生成装置的结构框图;图12为一个实施例中计算机设备的内部结构图。
具体实施方式
21.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
22.本技术提供的音频生成方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括终端102和服务器104,应用环境可为终端102与服务器104交互的环境。其中,终端102通过网络与服务器104进行通信。服务器104可以接收终端102发送的多个声源的音频信号,服务器104基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号;服务器104对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号;服务器104基于网格区域内各声源的位置信息和音频权重值,确定声像中心;服务器104基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号;服务器104将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号,进一步的,服务器104得到立体混音音频信号之后,服务器104可以将得到的立体混音音频信号返回至对应的终端102,以使得用户可以获取到与多个声源的音频信号相关联的立体混音音频信号。服务器104也可以将立体混音音频信号与多个初始声源进行关联存储,例如可以将立体混音音频信号作为多个初始声源的音频信号的虚拟空间音效。
23.其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备、智能语音交互设备、智能家电、车载终端以及其它的车联网设备等。
24.服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以理解,本技术实施例提供的服务器104也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。
25.人工智能(artificial intelligence, ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
26.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
27.计算机视觉技术(computer vision, cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
28.语音技术(speech technology)的关键技术有自动语音识别技术和语音合成技术以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
29.在一个实施例中,如图2所示,提供了一种音频生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:步骤202,基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号。
30.其中,声音是一种机械波,声源是指能够产生机械波的物体,在物理学中,把正在发声的物体叫声源。比如:声带、音叉、鼓等都是声源。但是声源是不能脱离其周围的弹性介质的,空间中同样的物体,同样的状态,如果脱离了弹性介质,那么就不能产生声波了,这时物体不是声源。本技术实施例中的声源可以包括不同类型的多个声源,声源可以是真实环境中采集得到的声源,也可以虚拟构造出的声源,每个声源携带自身的单声道信号以及自身坐标等信息。例如,可以是由用户的录音设备采集得到的携带音频信号的声源,也可以是由虚拟空间音效系统即服务器构造的携带音频信号的声源。可以理解,本技术实施例中的声源包括至少两个声源,声源携带的音频信号为单声道音频信号。
31.目标对象是指接收声源产生的音频信号的听众,例如,目标对象可以包括真实环境中的听众,也可以包括虚拟空间中构造出的听众。
32.距离值是指声源与目标对象之间的距离值,不同声源与目标对象之间的距离值可以是相同的,也可以是不同的。例如,声源1、声源2与目标对象a之间的距离值均为2m。距离感处理是指基于声源与目标对象之间的距离值,进行单声道信号衰减处理或者单声道信号放大处理。
33.距离感音频信号是指经过距离感处理后得到的信号,即为距离感音频信号,距离感音频信号可以包括衰减音频信号和放大音频信号。例如,根据声音音量随距离衰减的原理,按照声源与听者之间的实际距离进行单声道信号衰减处理后,得到的衰减音频信号,即为距离感音频信号。
34.具体的,服务器可以基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号。其中,距离感处理包括单声道信号衰减处理和单声道信号放大处理,声源可以为多个声源。
35.举个例子,假设当前目标对象为听者a,听者a共能收听到n个声源,每个声源携带自身的单声道信号以及自身坐标信息,将这些信息输入虚拟空间音效系统即服务器。其中,单声道信号可以由用户的录音设备采集得到,也可以是虚拟空间音效系统构造的单声道信号,而坐标信息可以是由用户的可穿戴设备实际采集得到的,也可以是用户在虚拟空间系统中的虚拟运动轨迹计算得到的。此外,服务器也可以基于预设函数计算各声源与目标对象之间的距离值。
36.进一步的,服务器可以基于每个声源与听者a之间的距离值,对每个声源的音频信号进行单声道信号衰减处理或者单声道信号放大处理,得到每个声源的衰减音频信号或者放大音频信号。
37.步骤204,对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号。
38.其中,网格区域是指每个网格对应的空间区域,网格是指对空间网络进行网格划分,得到的包含多个网格区域的空间网格。服务器可以以目标对象为中心构建空间网络,例如,服务器可以构建以目标对象为球心的球体化空间,并对球体化空间进行网格划分,得到包括多个网格区域的球体化空间网格。比如,在球体化空间网格中包含网格1和网格2,网格1对应的网格区域定义为东经20~30度以及南纬0~20度的区域,网格2对应的网格区域定义为东经20~30度以及南纬20~40度的区域。
39.相同网格区域是指声源的位置处于定义的同一个网格区域内,例如,声源1的位置信息为东经20度、南纬15度,声源2的位置信息为东经20度、南纬18度,由于声源1和声源2的位置信息均符合网格1定义的空间区域,即声源1和声源2的位置信息均处于网格1对应的空间区域中,则可以确定声源1和声源2是处于相同网格区域内的声源。
40.混音处理是指将处于相同网格区域内的所有声源携带的音频信号进行混音处理,得到混音处理后的新声源。例如,将处于网格1区域内的声源1携带的音频信号siga和声源2携带的音频信号sigb进行混音处理,得到混音处理后的混音音频信号sigc,混音音频信号sigc即为新声源3的音频信号。
41.混音音频信号是指混音处理后得到的新声源的音频信号,即为混音音频信号。例如,新声源3的音频信号是由声源1和声源2的音频信号进行混音处理后得到的,因此新声源3的音频信号即为混音音频信号。
42.具体的,服务器基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号之后,服务器可以对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号。其中,可以预先设置好不同的网格划分策略,并基于预设的网格划分策略,对包含目标对象的空间网络进行网格划分,以得到包含多个网格区域的空间网络。其中,服务器可以以目标对象为中心构建对应的空间网络,例如,以目标对象为中心构建对应的球体化空间网络。可以理解,本技术实施例中的空间网络包括但不限于是球体化空间网络,还可以是其他的空间网络,例如,半球体化空间网络以及其他不规则几何体的空间网络等。
43.步骤206,基于网格区域内各声源的位置信息和音频权重值,确定声像中心。
44.其中,音频权重值是指音频帧中每个声源的距离感音频信号的能量值占音频帧的所有声源的距离感音频信号的总能量值的比重,也可称为能量加权系数。音频信号是一维信号,能量值是指一定时间窗长内所有样点的平方和。例如,同一个网格区域内有2个声源分别为声源1和声源2,声源1当前帧的距离感音频信号的能量值为e1,声源2当前帧的距离感音频信号的能量值为e2,则声源1当前帧的音频权重值为e1
÷
(e1+ e2);声源2当前帧的音频权重值为e2
÷
(e1+ e2)。
45.声像中心是指每个网格区域中所有声源的坐标信息与音频权重值加权计算出的中心坐标值对应的位置。每个网格区域对应的声像中心可以是相同的,也可以是不同的。本技术实施例中的声像中心可以为空间网络中的一个点,即中心坐标值对应的位置为一个坐标点,该坐标点即为声像中心点。
46.具体的,服务器对处于相同网格区域内的各声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号之后,服务器可以基于网格区域内各声源的位置信息和音频权重值,确定声像中心。由于网格区域有多个,服务器可以分别基于每个网
格区域内的所有声源的位置信息和音频权重值,确定每个网格区域对应的声像中心。可以理解,本实施例中声源的位置信息可以为声源相对于目标对象的三维直角坐标信息。
47.步骤208,基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号。
48.其中,立体声重构是指采用立体声重构技术进行立体声重构处理,立体声重构技术可以包括多种虚拟立体声重构技术,例如,本技术实施例中可以采用hrtf(head related transfer function,头相关传递函数)虚拟立体声重构技术进行立体声重构处理。
49.立体音频信号是指对每个网格区域的混音音频信号进行立体声重构后得到的信号,即为立体音频信号。本技术实施例中的立体音频信号可以为双声道立体音频信号,例如,对网格1的混音音频信号a1进行hrtf立体声重构后得到信号a2,信号a2即为双声道立体音频信号。
50.具体的,服务器基于网格区域内各声源的位置信息和音频权重值,确定声像中心之后,服务器可以基于每个网格区域对应的声像中心,对各个网格区域的混音音频信号进行立体声重构,得到各个网格区域对应的立体音频信号。其中,立体声重构可以采用hrtf处理的方式,即服务器可以基于每个网格区域的声像中心,对各个网格区域的混音音频信号进行hrtf处理,即可得到各个网格区域对应的立体音频信号。
51.举个例子,假设基于预设的网格划分策略对目标对象所在的空间进行网格划分后,得到的空间网格中包含的网格区域为网格1和网格2,则服务器可以基于网格1内各声源的三维直角坐标信息和音频权重值,确定网格1的空间区域对应的声像中心为点a1;以及服务器基于网格2区域内各声源的三维直角坐标信息和音频权重值,确定网格2的空间区域对应的声像中心为点a2。进一步的,服务器可以基于各个网格区域的声像中心,对网格1的混音音频信号和网格2的混音音频信号分别进行立体声重构,得到网格1的立体音频信号和网格2的立体音频信号。其中,hrtf表格中存储有不同经纬度坐标信息对应的hrtf激励信号,服务器可以从相关的hrtf表格中查找与各个网格区域声像中心的位置信息对应的hrtf激励信号,并利用查找得到的hrtf激励信号对各个网格区域的混音音频信号分别进行卷积处理,即可得到各个网格区域的立体音频信号。例如,服务器可以查找hrtf表格中与点a1的位置信息对应的hrtf激励信号h(1),并利用查找得到的hrtf激励信号h(1)对网格1的混音音频信号进行卷积处理,即可得到网格1的立体音频信号。
52.步骤210,将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
53.其中,立体混音音频信号是指将不同网格区域中的立体音频信号进行混音处理后,得到的音频信号即为立体混音音频信号。立体混音音频信号可以包括左声道混音音频信号和右声道混音音频信号。例如,假设空间网格中包含的网格区域分别为网格1、网格2以及网格3,网格1和网格2中存在声源,网格3中不存在声源,则服务器可以将网格1和网格2的空间区域的立体音频信号的左声道信号进行混音处理,即可得到多网格空间区域的立体混音音频信号的左声道混音音频信号。
54.具体的,服务器基于每个网格区域对应的声像中心,对各个网格区域的混音音频信号进行立体声重构,得到各个网格区域对应的立体音频信号之后,服务器可以将各个网格区域对应的立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,即可
得到多个网格区域对应的立体混音音频信号。其中,混音处理可以采用多种混音处理方法,例如,直接加和、平均法、箝位法、归一化、自适应混音加权以及自动对齐算法等处理方式。本技术实例中可以采用平均法对所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,即将所有存在声源信号的网格区域的左声道信号和右声道信号进行叠加求和后取平均值,得到最终输出的立体混音音频信号的左声道混音音频信号和右声道混音音频信号。
55.举个例子,以平均法为例进行说明。假设空间网格中包含的网格区域分别为网格1、网格2以及网格3,网格1和网格2中存在声源,网格3中不存在声源,则服务器可以基于各个网格区域对应的声像中心,对网格1的混音音频信号和网格2的混音音频信号分别进行立体声重构,得到网格1的立体音频信号s1和网格2的立体音频信号s2。由于网格3中不存在声源,则服务器可以将网格1的立体音频信号和网格2的立体音频信号进行混音处理,即可得到多网格空间区域的立体混音音频信号。例如,服务器可以采用平均法的混音处理方式,将存在声源信号的网格1和网格2的左声道信号和右声道信号各自叠加求和后取平均值,得到最终输出的立体混音音频信号的左声道混音音频信号和右声道混音音频信号。即服务器计算所有存在声源信号的网格区域的左声道音频信号叠加求和后取平均值,将得到的平均值作为最终输出的立体混音音频信号的左声道混音音频信号;同时,服务器计算所有存在声源信号的网格区域的右声道音频信号叠加求和后取平均值,将得到的平均值作为最终输出的立体混音音频信号的右声道混音音频信号。
56.上述音频生成方法中,基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号;对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号;基于网格区域内各声源的位置信息和音频权重值,确定声像中心;基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号;将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。由于将处于同一网格区域内的多个声源视作一体,即将处于相同网格区域内的多个声源经过距离感修正后进行混音得到一个新的单一声源,同时通过多个声源加权计算每个网格区域的声像中心,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以满足普通设备都能实现实时处理的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
57.在一个实施例中,所述方法还包括:以目标对象为中心构建目标空间网络;对目标空间网络进行均匀网格划分或非均匀网格划分,得到包括网格区域的目标空间网络。
58.其中,空间网络是指以目标对象为中心的空间区域,空间网络可以包括多种类型的空间网络,例如,以目标对象为球心的球体化空间网络。
59.网格划分就是把空间网络分成很多小的单元,作为有限元分析前处理的重中之重,网格划分与计算目标的匹配程度、网格的质量好坏,决定了后期有限元计算的质量。例如,网格划分可以包括结构化网格划分和非结构化网格划分,网格化处理方式可以包括直
接利用开源网格工具处理和自定义网格处理方法等多种网格化处理方式。
60.其中,均匀网格划分是指对空间网络的所有区域采用大小相同的网格进行网格划分,得到的划分后的网格的疏密是均匀的;非均匀网格划分是指对空间网络的不同区域采用大小不同的网格进行网格划分,得到的划分后的网格的疏密是非均匀的。例如,在非均匀网格中某些区域网格比较稀疏,某些区域网格比较密集。网格疏密是指在网格的不同区域采用大小不同的网格,这是为了适应计算数据的分布特点。在计算数据变化梯度较大的区域(比如,目标对象对水平方位和正前方的方位的声源定位精度较高),为了较好地反映数据变化规律,需要采用比较密集的网格。而在计算数据变化梯度较小的区域(比如,目标对象对正后方的方位精度较低),为减小模型规模,则应划分相对稀疏的网格。这样,整个网格的结构便表现出疏密不同的网格划分形式。
61.具体的,服务器可以以目标对象为中心构建目标空间网络,并对目标空间网络进行均匀网格划分或非均匀网格划分,得到包括多个网格区域的目标空间网络。由于人耳对水平方位的声源定位精度较高、前方的方位精度较高、后方的方位精度较低、上方的方位精度较低以及下方的方位精度最低,因此,基于上述声源定位的特性,服务器可以对目标对象的水平前方(假设水平前方的位置信息为纬度

45度至+45度,经度

90度至+90度)的区域的网格划分较细、得到的网格区域较多;其它方位的网格区域可以划分得较稀疏,得到的网格区域数较少。
62.举个例子,如图3所示,为以目标对象为球心构建球体化空间网络的效果示意图。服务器可以以目标对象为球心构建球体化空间网络,服务器按照经度和纬度信息,对球体化空间网络进行均匀网格划分或非均匀网格划分,得到包括不同网格区域的球体化空间网络。如图4所示,为多声源的球网格化管理的示意图。图4中是以听者为球心构建的球体化空间,图4中按照经度和维度进行网格划分,例如,球体化空间网络包括网格1和网格2,网格1定义为东经20~30度及南纬0~20度的区域,网格2定义为东经20~30度及南纬20~40度的区域。由此,后续服务器可以基于不同声源相对于目标对象的三维直角坐标信息计算出经纬度信息,从而可以根据经纬度信息确定各声源所属的网格区域,实现同一网格区域中多声源的一体化处理,为降低立体声重构处理次数做铺垫,从而在不影响用户体验的前提下,大幅降低计算开销。
63.在其中一个实施例中,如图5所示,目标空间网络为球体化网络,所述方法还包括基于经纬度信息确定声源所属的网格区域的步骤,具体包括:步骤502,获取声源的坐标信息。
64.步骤504,当坐标信息为三维直角坐标信息时,将声源的坐标信息转换为球体化网络的经纬度信息。
65.步骤506,在球体化网络中,基于经纬度信息确定声源所属的网格区域。
66.其中,声源的坐标信息是指声源相对于目标对象的坐标信息。
67.具体的,当服务器以目标对象为球心构建球体化空间网络,并按照经度和纬度信息,对球体化空间网络进行均匀网格划分或非均匀网格划分,得到包括不同网格区域的球体化空间网络之后,服务器可以获取各个声源的坐标信息。当声源的坐标信息为三维直角坐标信息时,服务器将声源的坐标信息转换为球体化网络的经纬度信息。如图6所示,为直角坐标信息转换经纬度信息的示意图。在球体化网络中,服务器可以基于经纬度信息确定
该声源所属的网格区域。其中,假设某个声源的三维直角坐标值是[x,y,z],则其经度和纬度信息的转换公式如下公式(1)(2)所示:(2)所示:其中,上述公式(1)(2)中la表示经度,lo表示纬度,arctan表示反正切函数,x表示声源相对于目标对象的x轴坐标值,y表示声源相对于目标对象的y轴坐标值,z表示声源相对于目标对象的z轴坐标值。
[0068]
举个例子,假设服务器获取声源a的坐标信息为a(x
a
,y
a
,z
a
),则服务器可以根据上述公式(1)和公式(2),将声源a的三维直角坐标信息转换为球体化网络的经纬度信息la和lo。假设服务器基于上述公式(1)和公式(2),得到的声源a的经纬度信息为la为东经20度和lo为南纬15度。在球体化网络中,网格1对应的网格区域定义为东经20~30度以及南纬0~20度的区域,网格2对应网格区域定义为东经20~30度以及南纬20~40度的区域,则服务器可以基于上述经纬度信息,即东经20度和南纬15度,确定声源a所属的网格区域为网格1。
[0069]
本实施例中,基于人耳对不同方向的感知精度的差异定义不同的网格区域,从而可以基于各声源对应的经纬度坐标确定各声源所属的网格区域,即通过对不同方位声源的球网格化管理,能够实现对同一网格中的多声源进行一体化处理,从而在不影响用户体验的前提下,可以大幅降低计算开销。
[0070]
在一个实施例中,对目标空间网络进行均匀网格划分或非均匀网格划分,得到包括网格区域的目标空间网络的步骤,包括:对目标空间网络进行均匀网格划分,得到包括网格区域的目标空间网络;或者,确定目标对象对不同方位的音频感知精度值,不同方位的音频感知精度值不同;依据音频感知精度值对目标空间网络进行网格划分,得到包括网格区域的目标空间网络。
[0071]
其中,音频感知精度值是指人耳对空间中各个方位的辨识精度值,由于人耳辨识声音方向是基于声压差、相位差以及声音在自身躯体反射差异来定位,信号上差异非常细微,需要耳朵结构足够复杂、或者长期高强度训练才能提升方位辨识精度,另外从进化角度来说,人辨别方位更依赖于视觉,听觉则弱化了这个能力,所以人耳辨识方位角度能力比较有限,本技术实施例中正是基于人耳对不同方位的音频感知精度值不同的这个特性,采用网格化处理的方式,并通过相同网格区域内多个声源的一体化处理降低开销。
[0072]
具体的,服务器以目标对象为中心构建目标空间网络之后,服务器可以对目标空间网络进行均匀网格划分,得到包括网格区域的目标空间网络;或者,服务器可以确定目标对象对不同方位的音频感知精度值,不同方位的音频感知精度值不同;服务器可以依据不同方位的音频感知精度值对目标空间网络进行网格划分,得到包括多个网格区域的目标空间网络。
[0073]
举个例子,假设人耳对水平方位的声源定位精度较高、前方的方位精度较高、后方的方位精度较低、上方的方位精度较低以及下方的方位精度最低,因此,服务器可以确定目标对象对不同方位的音频感知精度值,并依据不同方位的音频感知精度值对目标空间网络进行网格划分,如图4所示,假设目标对象的水平前方区域为纬度

45度至+45度、经度

90度至+90度的区域,则服务器可以对上述纬度

45度至+45度,以及经度

90度至+90度的区域进
行较细的网格划分,以得到较多的网格区域。例如,服务器可以按照预设的网格间隔为30度进行网格划分,将纬度

45度至+45度,以及经度

90度至+90度的区域划分为15个网格,即可得到15个网格区域;针对其它方位,服务器可以按照预设的网格间隔为60度进行网格划分,则可以将其他经纬度区域划分为较稀疏的网格,得到的网格区域数量也较少。例如,服务器按照预设的网格间隔距离60度进行网格划分,将纬度45度至105度,以及经度90度至150度的区域划分为4个网格,即可得到4个网格区域。由此,基于人耳分辨能力的特性,采用不同的策略进行网格划分,即人耳感知精度高的区域其网格可以划分的更细密,而人耳感知精度较弱的区域其网格可以划分的较为稀疏,从而在不影响用户体验的前提下,实现了同一网格中多声源的一体化处理,极大的降低了计算开销,从而能够达到普通设备都能实时处理生成立体音频信号的要求。
[0074]
在一个实施例中,基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号的步骤,包括:基于声源与目标对象之间的距离值,确定声源对应的增益值;基于增益值,对声源的音频信号进行衰减处理或者放大处理,得到声源的距离感音频信号。
[0075]
其中,增益是指对元器件、电路、设备或系统,其电流、电压或功率增加的程度。增益值是指放大倍数,即增益值表示对信号的放大的程度,增大增益值,对信号的放大作用越强。例如,增益值可以设置为2的0次方、2的2/3次方、2的4/3次方以及2的2次方等。本技术实施例中的增益值可以是预先设置好的固定的增益值,或者也可以是预先设置增益值的计算方式,服务器根据计算方式自动生成对应的增益值,这里对增益值的计算方式和生成方式不做限定。
[0076]
具体的,服务器基于声源与目标对象之间的距离值,对各个声源的音频信号进行距离感处理时,服务器可以基于声源与目标对象之间的距离值,确定各个声源对应的增益值,并基于增益值,对各个声源的音频信号进行衰减处理或者放大处理,即可得到各个声源的距离感音频信号。其中,声源与目标对象之间的距离值与增益值具有映射关系,例如,预设的增益值函数中包含距离值与增益值之间的对应关系。当以目标对象为中心构建的目标空间网络为球体化空间网络时,各个声源与目标对象之间的距离值可以利用如下所示的公式得到:其中,上述公式(3)中d表示声源与目标对象之间的距离值,x、y、z表示声源相对于目标对象的坐标信息。
[0077]
举个例子,假设在球体化空间网络中,服务器基于上述公式(3)计算得到声源a与目标对象a之间的距离值d之后,则服务器可以将距离值d输入预设的增益值函数或者基于预设的增益值确定方式,确定声源a对应的增益值g1。进一步的,服务器可以基于得到的增益值g1,依据声音音量随距离衰减的原理,对声源a携带的音频信号siga1进行衰减处理或者放大处理,即可得到声源a的距离感音频信号siga2。
[0078]
本实施例中,通过将处于同一网格的多个声源经过距离感修正后,可以得到更加精确的距离感修正后的音频信号,使得后续能够将同一网格区域中的距离感修正后音频信
号进行混音处理,以得到更为精确的新的声源信号,有效保证了混音处理后的音频信号的准确性。
[0079]
在一个实施例中,增益值为距离增益值,基于声源与目标对象之间的距离值,确定声源对应的增益值的步骤,包括:获取参考距离值和增益上限值;基于参考距离值、增益上限值以及距离值,确定声源对应的距离增益值。
[0080]
其中,参考距离值是指根据经验值设置的参考距离值,可以预先根据经验设置好参考距离值。
[0081]
增益上限值是指最大增益值,用于避免增益过大而导致信号溢出的情况。增益上限值可以是预先根据经验设置的最大增益值。
[0082]
具体的,服务器基于声源与目标对象之间的距离值,对各个声源的音频信号进行距离感处理时,服务器可以获取预设的参考距离值和增益上限值,并基于参考距离值、增益上限值以及各个声源与目标对象之间的距离值,确定各个声源对应的距离增益值。其中,当以目标对象为中心构建的目标空间网络为球体化空间网络时,确定各个声源对应的距离增益值可以利用如下所示的公式:其中,上述公式(4)中的g表示距离增益值,min表示取最小值,gmax表示增益上限值,d0表示参考距离值,d表示声源与目标对象之间的距离值。
[0083]
即服务器在对各个声源的音频信号进行距离感处理时,鉴于声音音量与距离值的平方成反比,因此,服务器可以利用如下所示的公式得到各个声源的距离感音频信号:sig0
ꢀ×
g= sig1
ꢀꢀꢀꢀ
(5)其中,上述公式(5)中的g表示距离增益值,sig0表示各声源的音频信号,sig1表示各声源的距离感音频信号。
[0084]
举个例子,假设声源a的音频信号为sig0,服务器根据前述公式(4)得到声源a的距离增益值为g1,则服务器可以基于上述公式(5),将声源a的音频信号sig0乘以距离增益值g1,即可得到声源a的距离感音频信号sig1。由此使得,通过将处于同一网格的多个声源经过距离感修正后,可以得到更加精确的距离感修正后的音频信号,使得后续能够将同一网格区域中的距离感修正后音频信号进行混音处理,以得到更为精确的新的混音信号,有效保证了混音处理后的音频信号的准确性。
[0085]
在一个实施例中,基于网格区域内各声源的位置信息和音频权重值,确定声像中心的步骤,包括:获取网格区域内各声源的坐标值和音频权重值;基于坐标值和音频权重值,确定网格区域的中心坐标值;将中心坐标值对应的位置作为网格区域的声像中心。
[0086]
其中,中心坐标值是指每个网格区域的声像中心对应的坐标值,即为中心坐标值。
[0087]
具体的,服务器对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号之后,服务器可以获取各网格区域内各声源的坐标值和音频权重值,并基于坐标值和音频权重值,确定各个网格区域的中心坐标值,服务器
将中心坐标值对应的位置作为每个网格区域的声像中心。
[0088]
举个例子,假设声源a和声源b的位置信息均处于网格1对应的空间区域中,则服务器可以基于网格1的空间区域内声源a的三维直角坐标信息a(x
a
,y
a
,z
a
)和音频权重值a1以及声源b的三维直角坐标信息b(x
b
,y
b
,z
b
)和音频权重值a2,确定网格1的声像中心为c(x
c
,y
c
,z
c
)。由此使得,可以将处于同一网格区域内的多个声源视作一体,即将处于相同网格区域内的多个声源经过距离感修正后进行混音得到一个新的单一声源,同时基于各网格区域内的多个声源的坐标信息和音频权重,确定每个网格区域的声像中心,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以满足普通设备都能实现实时处理立体音频信号生成的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
[0089]
在其中一个实施例中,各声源的坐标值包括第一方向坐标值、第二方向坐标值以及第三方向坐标值,基于坐标值和音频权重值,确定网格区域的中心坐标值的步骤,包括:基于网格区域内各声源的第一方向坐标值和音频权重值,确定网格区域的声像中心的第一方向坐标值;基于网格区域内各声源的第二方向坐标值和音频权重值,确定网格区域的声像中心的第二方向坐标值;基于网格区域内各声源的第三方向坐标值和音频权重值,确定网格区域的声像中心的第三方向坐标值。
[0090]
其中,第一方向坐标值、第二方向坐标值以及第三方向坐标值可以为三个不同方向对应的坐标值。例如,第一方向为x轴方向,第二方向为y轴方向,第三方向为z轴方向,则第一方向坐标值为x轴方向坐标值、第二方向坐标值为y轴方向坐标值以及第三方向坐标值为z轴方向坐标值。
[0091]
具体的,服务器对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号之后,服务器可以获取各网格区域内各声源相对于目标对象的坐标值和各声源的音频权重值,并基于坐标值和音频权重值,确定各个网格区域的中心坐标值,服务器将中心坐标值对应的位置作为每个网格区域的声像中心。即服务器可以基于各网格区域内各声源的第一方向坐标值和音频权重值,确定个网格区域的声像中心的第一方向坐标值;服务器基于各网格区域内各声源的第二方向坐标值和音频权重值,确定各网格区域的声像中心的第二方向坐标值;服务器基于各网格区域内各声源的第三方向坐标值和音频权重值,确定各网格区域的声像中心的第三方向坐标值。
[0092]
假设同一网格区域内有m个声源,每个声源当前帧的距离感音频信号的能量值为e(i),i为当前网格区域中各声源的序号,则该网格的声像中心对应的位置的坐标值为:其中,上述公式(6)中的a(i)为音频权重值,x(i)、y(i)、z(i)为该网格内第i个声源相对于目标对象的三维直角坐标值,x
c
,y
c
,z
c
为该网格的声像中心的三维直角坐标值。
[0093]
举个例子,假设同一网格区域内有2个声源分别为声源 1和声源2,声源1的第一方
向坐标值为x(1)、第二方向坐标值为y(1)、第三方向坐标值为z(1)以及当前帧的音频权重值为a(1),声源2的第一方向坐标值为x(2)、第二方向坐标值为y(2)、第三方向坐标值为z(2)以及当前帧的音频权重值为a(2),则该网格的声像中心的坐标值为:x
c= a(1)
×
x(1)+ a(2)
×
x(2)、y
c= a(1)
×
y(1)+ a(2)
×
y(2)以及z
c= a(1)
×
z(1)+ a(2)
×
z(2)。
[0094]
本实施例中,可以基于各网格区域内的多个声源的坐标信息和音频权重,确定每个网格区域的声像中心,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以达到普通设备都能实现实时生成立体音频信号的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
[0095]
在一个实施例中,所述方法还包括:获取网格区域内各声源的音频能量值;基于音频能量值,确定网格区域内所有声源的总音频能量值;基于音频能量值和总音频能量值,确定网格区域内各声源的音频权重值。
[0096]
其中,音频能量值是指每个声源当前帧的距离感音频信号的能量值,例如,声源1当前帧的距离感音频信号的能量值为e(1),声源2当前帧的距离感音频信号的能量值为e(2)。
[0097]
总音频能量值是指网格区域内所有声源的距离感音频信号的总音频能量值。例如,网格1内包含声源1和声源2,则网格1的总音频能量值为声源1当前帧的距离感音频信号的能量值e(1),与声源2当前帧的距离感音频信号的能量值e(2)之和,即总音频能量值为e(1)+ e(2)。
[0098]
具体的,服务器可以获取各网格区域内各声源的距离感音频信号的音频能量值,并基于各声源的距离感音频信号的音频能量值,确定各网格区域内所有声源的距离感音频信号的总音频能量值。进一步的,服务器可以基于各网格区域内各声源的距离感音频信号的音频能量值和各网格区域的距离感音频信号的总音频能量值,确定各网格区域内各声源的距离感音频信号的音频权重值。
[0099]
其中,假设同一网格区域内有m个声源,每个声源当前帧的距离感音频信号的能量值为e(i),i为当前网格区域中各声源的序号,各声源的距离感音频信号的音频权重值a(i)可以利用如下所示的公式得到:其中,上述公式(7)中的a(i)为声源的距离感音频信号的音频权重值,e(i)为每个声源当前帧的距离感音频信号的能量值,为每个网格区域内所有声源的距离感音频信号的总音频能量值。
[0100]
举个例子,假设同一网格区域内有2个声源分别为声源 1和声源2,声源1当前帧的距离感音频信号的能量值为e(1),声源2当前帧的距离感音频信号的能量值为e(2),则声源1的距离感音频信号的音频权重值为:;声源2的距离感音频信号的音频权
重值为:。由此使得,可以基于各网格区域内各声源的距离感音频信号的音频能量值,确定各网格区域内所有声源的距离感音频信号的总音频能量值,并基于音频能量值和总音频能量值,动态确定网格区域内各声源的距离感音频信号的音频权重值,从而使得后续可以基于各网格区域内各声源的音频权重值和坐标值,动态确定各网格区域当前帧的声像中心的坐标位置,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以达到普通设备都能实现实时处理的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
[0101]
在一个实施例中,基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号的步骤,包括:查找与声像中心对应的激励信号;基于激励信号和网格区域的混音音频信号,构建立体音频信号。
[0102]
其中,本技术中的激励信号可以是hrir激励信号,hrir激励信号可以通过查相关的hrir表格得到。
[0103]
具体的,服务器基于网格区域内各声源的位置信息和音频权重值,确定各网格区域的声像中心之后,服务器可以查找与各个声像中心对应的hrir激励信号,并基于hrir激励信号和各个网格区域的混音音频信号,构建各个网格区域对应的立体音频信号。其中,服务器可以根据每个声像中心的位置信息,从相关的hrir表格中查找与声像中心的位置信息匹配的hrir激励信号,即本技术实施例中hrir激励信号与声像中心的位置信息之间具有映射关系。
[0104]
举个例子,假设同一网格区域内有2个声源分别为声源 1和声源2,服务器基于网格1内声源1和声源2的位置信息和音频权重值,确定网格1的声像中心s1的位置信息为(经度60,纬度0)之后,服务器可以查找与声像中心s1的位置信息对应的hrir激励信号,假设相关的hrir表格中存储有(经度60,纬度0)对应的hrir激励信号为h(1),则服务器可以基于hrir激励信号h(1)和该网格区域的混音音频信号sig2,构建该网格1对应的立体音频信号sig3。由此,基于球网格处理方法,能够有效降低立体音频信号生成的计算开销,实现实时处理。
[0105]
在一个实施例中,激励信号包括左声道激励信号和右声道激励信号;基于激励信号和网格区域的混音音频信号,构建立体音频信号的步骤,包括:基于左声道激励信号,对网格区域的混音音频信号进行卷积处理,得到左声道音频信号;基于右声道激励信号,对网格区域的混音音频信号进行卷积处理,得到右声道音频信号。
[0106]
其中,左声道激励信号是指左声道的hrir数据,右声道激励信号是指右声道的hrir数据。
[0107]
具体的,服务器基于网格区域内各声源的位置信息和音频权重值,确定各网格区域的声像中心之后,服务器可以查找与各个声像中心对应的hrir激励信号,由于hrir激励信号包括左声道的hrir数据和右声道的hrir数据,因此,服务器可以基于hrir激励信号和
各个网格区域的混音音频信号,构建各个网格区域对应的立体音频信号。其中,服务器基于hrtf立体声重构技术,对各个网格区域的混音音频信号进行立体声重构时,服务器可以将各个网格区域的单声道混音音频信号u(n)与各网格区域的声像中心相应方位的hrir激励信号h(n)进行卷积操作,即可得到卷积操作后输出的双声道立体声信号y(n)。其中,立体音频信号y(n)可以利用如下所示的公式得到:其中,上述公式(8)中的y(n)为输出的双声道立体音频信号,u(n)为每个网格区域的单声道混音音频信号,h(n)为每个网格区域的声像中心的位置信息对应的hrir激励信号,

表示卷积处理。
[0108]
如图7所示,为hrtf立体声重构处理的示意图。由于hrir激励信号h(n)中包括左声道的hrir数据和右声道的hrir数据,所以生成的y(n)也包含左声道信号结果和右声道信号结果。
[0109]
举个例子,假设服务器基于网格1区域内各声源的位置信息和音频权重值,确定网格1区域的声像中心s1之后,服务器可以查找与声像中心s1对应的hrir激励信号为h(1),由于hrir激励信号包括左声道的hrir数据和右声道的hrir数据,因此,服务器可以基于hrir激励信号h(1)和网格1区域的混音音频信号sig2,构建网格1区域对应的立体音频信号sig3。即服务器可以将网格1区域的混音音频信号sig2作为输入信号u(n)与网格1区域的声像中心s1相应方位的hrir激励信号h(1)进行卷积操作,即y(1)= u(sig2)
⨂ h(1),即可得到卷积操作后输出的双声道立体声信号y(1)。由此,基于球网格处理方法,能够有效降低立体音频信号生成的计算开销,实现实时处理。
[0110]
在一个实施例中,立体混音音频信号包括左声道混音音频信号和右声道混音音频信号;在目标空间网络内确定具有声源的网格区域;确定具有声源的网格区域的数量;将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号,包括:基于网格区域的数量,对所有立体音频信号的左声道音频信号进行混音处理,得到左声道混音音频信号;基于网格区域的数量,对所有立体音频信号的右声道音频信号进行混音处理,得到右声道混音音频信号。
[0111]
具体的,服务器可以以目标对象为中心构建目标空间网络,并对目标空间网络进行均匀网格划分或非均匀网格划分,得到包括多个网格区域的目标空间网络。进一步的,服务器可以在已构建的目标空间网络内确定具有声源的网格区域以及确定具有声源的网格区域的数量。服务器可以基于网格区域的数量,对所有立体音频信号的左声道音频信号进行混音处理,得到左声道混音音频信号;同时服务器可以基于网格区域的数量,对所有立体音频信号的右声道音频信号进行混音处理,得到右声道混音音频信号,服务器得到的左声道混音音频信号和右声道混音音频信号,即为最终得到的双声道的立体混音音频信号。其中,混音处理的方法可以包括多种类型的混音处理方式,例如:直接加和处理、平均法、箝位
法、归一化处理、自适应混音加权处理、自动对齐算法等。
[0112]
本技术实施例中以平均法为例进行说明,平均法是将所有有声源信号的网格区域输出的左右声道信号各自叠加求和后取平均值的方法。
[0113]
其中,立体混音音频信号可以利用如下所示的公式得到:立体混音音频信号可以利用如下所示的公式得到:其中,上述公式(9)(10)中的lout(j)为立体混音音频信号的左声道混音音频信号,rout(j)为立体混音音频信号的右声道混音音频信号,k为当前帧具有声源的网格区域的数量,j为当前帧的样点序号,l(k,j) 为具有声源的各网格区域输出的立体音频信号的左声道信号,r(k,j)为具有声源的各网格区域输出的立体音频信号的右声道信号。可以理解,由于声源的位置在实时处理的过程中可能会发生变化,因此,每一帧具有声源的网格区域的数量可以是不同的,即动态变化的,例如,第一帧具有声源的网格区域的数量为5,第二十帧具有声源的网格区域的数量为6,本技术实施例中服务器可以基于上述公式(9)(10)动态计算每一帧音频帧对应的立体混音音频信号的左声道混音音频信号和右声道混音音频信号。
[0114]
举个例子,假设音频信号的采样率为48000hz,当20ms为一帧时,则一帧有960个样点,即一帧有960个左声道数据输出和960个右声道数据输出,则上述公式(9)(10)中的j = 1~960。
[0115]
假设当前实际声像总数有50个声源,服务器基于预设网格划分策略,对目标对象所在的空间网络进行网格划分后,服务器可以获取到当前帧具有声源的网格区域的数量为10,即按照预设网格划分策略将50个声源归入10个网格区域中,即k = 10,j = 1~960,则服务器可以基于上述公式(9)对当前帧10个网格区域中的所有立体音频信号的左声道音频信号进行混音计算,得到左声道混音音频信号;服务器可以基于上述公式(10)对当前帧10个网格区域中的所有立体音频信号的右声道音频信号进行混音计算,得到右声道混音音频信号。由此,基于球网格处理方法,能够有效降低立体音频信号生成的计算开销,实现实时处理。
[0116]
本技术还提供一种应用场景,该应用场景应用上述的音频生成方法。具体地,该音频生成方法在该应用场景的应用如下:元宇宙这个概念源于1992年美国著名科幻大师尼尔

斯蒂芬森在其小说《雪崩》中这样描述元宇宙:“戴上耳机和目镜,找到连接终端,就能够以虚拟分身的方式进入由计算机模拟、与真实世界平行的虚拟空间。”元宇宙的实现需要融合音频、视频、感知等多方面的人工智能虚拟感知技术,构造出逼近真实世界感知的计算机虚拟空间,体验者只需要借助一些硬件设备,例如耳机、眼镜以及体感装备等,就可以体验到和真实世界无差别的感官体验。其中,虚拟空间音效是类似元宇宙应用中很重要的一部分,通过虚拟空间音效还原真实环境下的双耳声音信号,体验者通过佩戴耳机就能感知到真实环境下的立体声音效体验。
[0117]
其中,如图8所示,为虚拟空间音效还原真实环境下的立体音频信号的应用场景示意图。空间音效是指经过一定的音频技术处理让用户听到更有立体感、空间层次感的声音,通过耳机或两个以上扬声器组合,播放还原出实际现场的听觉场景,让听者能清晰辨识到
不同的声学对象的方位、远近距离感以及移动轨迹,也能让听者感受到被声音全方位包裹的感受,让听者仿佛置身于实际环境中的沉浸式听觉体验。例如,如图8所示的空间音效中包含周边不同方位有不同人的说话声、笑声、脚步声、汽车由远到近驶来的发动机声、人行道提示音以及风雨声等。
[0118]
当用户使用类似元宇宙的应用或者用户需要体验虚拟空间音效时,可以采用上述的音频生成方法,即通过虚拟空间音效还原真实环境下的双耳声音信号,体验者即用户通过佩戴耳机就能感知到真实环境下的立体声音效体验,例如,如图8所示的虚拟空间音效中可以包括周边不同方位有不同人的说话声、笑声、脚步声、汽车由远到近驶来的发动机声、人行道提示音以及风雨声等。服务器可以基于声源与体验者之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号,并对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号;服务器可以基于网格区域内各声源的音频信号和音频权重值,确定声像中心,并基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号;服务器将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。由于将处于同一网格区域内的多个声源视作一体,即将处于相同网格区域内的多个声源经过距离感修正后进行混音得到一个新的单一声源,同时通过多个声源加权计算每个网格区域的声像中心,并将声像中心作为新声源的坐标方位进行立体声重构,故可以实现同一网格区域中多声源的一体化处理,极大的降低了立体声重构处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,以达到普通设备都能实现实时处理的要求,在实现有效降低立体音频信号生成的计算开销的同时,也能够保证用户的感知体验。
[0119]
本技术实施例提供的方法,可以应用于虚拟空间音效生成或者虚拟立体声生成的场景中。以下以虚拟空间音效生成的场景为例,对本技术实施例提供的音频生成方法进行说明,包括以下步骤:在传统的音频生成方式中,虚拟立体声的生成是非常耗计算资源的,虚拟空间音效为了还原真实世界的体验,需要通过hrtf(head related transfer function,头相关传递函数)虚拟立体声重构技术,将不同方位的不同声源分别进行立体声重构并进行混音处理后传入体验者的双耳,由于大量的声源需要同时进行hrtf立体声重构,导致巨大的计算开销对实时音频体验造成极大挑战,使得普通设备无法完成实时运算的要求,即便把计算模块转移到服务器实现,立体音频信号的生成也是非常耗费计算资源的。
[0120]
如图9所示,为传统方式中虚拟立体声生成的流程图。传统的虚拟空间音效是基于虚拟立体声重构技术实现的,如图9所示,假设听者共能收听到n个声源,每个声源携带自身的单声道信号及自身坐标信息,坐标信息包括每个声源来自不同距离和不同方位角度等信息,用户终端可以将这些信息将输入虚拟空间音效系统即服务器。如图9所示,传统方式中服务器通过如下步骤进行相关处理:1)服务器计算各声源当前坐标与听者之间的距离和空间角度,空间角度包括水平角度和垂直角度;2)服务器根据声音音量随距离衰减的原理,按照声源与听者之间的实际距离进行距离感处理,其中,距离感处理可以为单声道信号衰减处理;3)服务器将各声源信号经距离感处理后进行hrtf处理,即服务器根据各声源的水
平角度值和垂直角度值匹配hrir冲激响应信号,并利用匹配到的hrir冲激响应信号进行卷积处理,得到具有方位感的立体声信号;4)服务器将各声源的立体声信号的左声道和右声道分别做混音处理,最终得到听者所收听到的虚拟立体声。
[0121]
传统技术方案中的所有声源是单独进行hrtf处理,hrtf处理中的卷积处理的计算开销是比较大的,而类似元宇宙应用,声源数量比较大,可能有几十上百个声源,导致虚拟立体声生成的计算开销会非常高,导致普通设备无法完成实时运算的要求,即便把计算模块转移到服务器实现,其运营成本也是非常高的。
[0122]
因此,为了解决上述问题,即针对这个实时多声源hrtf运算的高开销问题,本技术实施例中提出基于球网格化管理,将处于同一球网格中的多个声源视作一体,同时考虑到人耳分辨能力,网格划分的定义可以是非等区间的,即人耳感知精度高的区域其网格可以划分的更细密,而人耳感知精度较弱的区域其网格可以划分的较为稀疏,由于同一网格中多声源的一体化处理大大降低了计算hrtf处理的次数,从而在不影响用户体验的前提下,极大的降低了计算开销,从而满足普通设备都能实现实时处理的要求。例如原有100个声源对象,需要做100次hrir卷积处理,而这100个声源分布在10个网格区域中,则只需要做10次hrir卷积处理,所以计算开销得到大幅度降低。即使在声源数量较多,例如,存在几十上百个声源的情况下,也能够有效降低立体音频信号生成的计算开销,达到实时处理的要求,同时也能够保证用户的感知体验。
[0123]
本实施例中提出了一种基于球网格化的多元虚拟立体音频信号生成方法,具体包括:在技术侧,如图10所示,为基于球网格化的多元虚拟立体音频信号生成方法的流程示意图。图10中的声源为多个声源。由于根据大量实验证明,普通人对声音方位辨识的精度值并不高,所以只要网格划分合理,同一网格下的多个声源,人耳并不能很准确的辨识出同一网格中的不同声源的具体位置,因此本技术实施例中根据这个现象设计了球网格处理方法,能够有效降低虚拟立体声生成的计算开销,实现实时处理。
[0124]
由于人耳对空间不同角度的分辨能力是有差异的,水平前方相对较准,精度可能在15度内,后方比较弱,可能在30度或者以上,因此,基于这个特性,本技术实施例中的网格划分策略可以设置为:如图4所示,在水平方向,目标对象身体前方区域以水平角度15度作为网格间隔进行网格划分,目标对象身体后方区域以水平角度30度作为网格间隔进行网格划分;在垂直方向,水平面以上的区域以25度作为网格间隔进行网格划分,水平面以下的区域以30度作为网格间隔进行网格划分。
[0125]
如图10所示,为基于球网格化的多元虚拟立体音频信号生成方法的流程示意图。图10中的声源为多个声源。如图10所示,首先服务器可以获取第i个声源与听者之间的距离,并将第i个声源携带的原单声道信号sig0(i)经过距离感处理,得到距离感音频信号sig1(i),同时,服务器可以将第i个声源的三维直角坐标转换为经纬度坐标,并基于经纬度坐标与定义好的球网格进行匹配,服务器基于各个声源的经纬度坐标与定义好的球网格进行匹配时,服务器可以基于各个声源相对于听者的经纬度信息来匹配对应的网格。进一步的,服务器可以将处于同一个网格中的多个声源的距离感音频信号sig1进行混音处理,得到对应于每个网格的混音音频信号sig2。为了让声像方位更精准,本技术实施例中,服务器
可以基于各声源相对于听者的三维直角坐标值以及各声源的距离感音频信号sig1的能量值,加权计算每个网格的网格声像中心的坐标值,并根据各个网格声像中心的位置信息匹配对应的hrir冲激响应参数。进一步的,服务器可以利用匹配得到的各个hrir冲激响应参数,对各个网格的混音音频信号sig2进行卷积处理,得到每个网格的虚拟立体声信号sig3,最后服务器可以将多个网格的sig3信号进行立体声混音处理,以得到最终的听者所听到的虚拟立体声信号sig4。
[0126]
其中,当服务器确定每个网格的声像中心点之后,例如,假设网格1的声像中心点s1的经纬度坐标为经度60,纬度0,则服务器可以查找相关的hrir表格,得到与声像中心点s1的经纬度坐标对应的hrir冲激响应参数,hrir冲激响应参数即hrir激励信号,hrir表格中存储有不同经纬度信息对应的hrir激励信号。
[0127]
关键技术:1. 三维直角坐标转换经纬度坐标假设某个声源的三维坐标值是[x,y,z],则其经度和纬度信息的转换公式如前述公式(1)(2)所示。
[0128]
2. 距离计算以及距离感处理各个声源与听者之间的距离值可以利用如前述所示的公式(3)得到。
[0129]
服务器进行距离感处理时,鉴于声音音量与距离的平方成反比,所以服务器可以利用前述公式(5)计算得到距离感处理后的各声源的距离感音频信号sig1。即将各声源携带的原单声道信号sig0乘以距离增益值g,则可以得到各声源的距离感音频信号sig1,而距离增益值g可以由前述公式(4)计算得到。
[0130]
3. hrtf处理基于hrtf立体声重构技术,将各个网格区域的单声道混音音频信号u(n)与各网格区域的声像中心点对应的hrir数据h(n)进行卷积处理,输出为双声道立体声信号y(n)。双声道立体声信号y(n)可以利用如前述所示的公式(8)得到。
[0131]
4. 计算网格的声像中心假设同一网格内有m个声源,每个声源当前帧的距离感音频信号的能量值为e(i),i为当前网格区域中各声源的序号,则该网格的声像中心点的坐标值可以由前述公式(6)计算得到。各声源的能量加权系数可以由前述公式(7)计算得到。
[0132]
5. 立体声混音处理立体声混音信号是由各网格输出的虚拟立体声信号sig3的左声道信号和右声道信号分别混音得到。其中混音的方法有很多,例如:直接加和、平均法、箝位法、归一化、自适应混音加权以及自动对齐算法等,本实施例中采用平均法,将所有有声源信号的网格输出的左声道信号和右声道信号各自叠加求和后取平均值,即可得到立体声混音信号的左声道混音音频信号和右声道混音音频信号。
[0133]
本实施例中,通过对不同方位声源的球网格化管理,将处于同一网格的多个声源经过距离感修正后进行混音成为一个新的单一声源,同时通过多元加权计算该网格声像中心,并将该网格声像中心作为新声源的坐标方位进行hrtf虚拟立体声重构,最后把存在声源的各网格的虚拟立体声进行混音,即可得到最终的整体虚拟立体声信号。本技术实施例中基于人耳对不同方向的感知精度的差异定义不同的网格区域,使得能够实现同一网格中
多声源的一体化处理,大大降低了计算hrtf处理的次数,从而在不影响用户体验的前提下,可以大幅降低计算开销,从而达到普通设备都能实现的实时处理的要求,同时也保证了用户的感知体验。
[0134]
应该理解的是,虽然图1

10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1

10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0135]
在一个实施例中,如图11所示,提供了一种音频生成装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:距离感处理模块1102、混音处理模块1104、确定模块1106和立体声重构模块1108,其中:距离感处理模块1102,用于基于声源与目标对象之间的距离值,对声源的音频信号进行距离感处理,得到距离感音频信号。
[0136]
混音处理模块1104,用于对处于相同网格区域内的声源的距离感音频信号进行混音处理,得到对应于每个网格区域的混音音频信号。
[0137]
确定模块1106,用于基于网格区域内各声源的位置信息和音频权重值,确定声像中心。
[0138]
立体声重构模块1108,用于基于声像中心,对网格区域的混音音频信号进行立体声重构,得到立体音频信号。
[0139]
混音处理模块1104还用于将所有立体音频信号的左声道音频信号和右声道音频信号分别进行混音处理,得到立体混音音频信号。
[0140]
在一个实施例中,所述装置还包括:构建模块和网格划分模块,构建模块,用于以所述目标对象为中心构建目标空间网络;网格划分模块,用于对所述目标空间网络进行均匀网格划分或非均匀网格划分,得到包括所述网格区域的目标空间网络。
[0141]
在一个实施例中,所述装置还包括:获取模块和转换模块,获取模块,用于获取所述声源的坐标信息;转换模块,用于当所述坐标信息为三维直角坐标信息时,将所述声源的坐标信息转换为所述球体化网络的经纬度信息;确定模块还用于在所述球体化网络中,基于所述经纬度信息确定所述声源所属的网格区域。
[0142]
在一个实施例中,网格划分模块还用于对所述目标空间网络进行均匀网格划分,得到包括所述网格区域的目标空间网络;确定模块还用于确定所述目标对象对不同方位的音频感知精度值,不同所述方位的音频感知精度值不同;网格划分模块还用于依据所述音频感知精度值对所述目标空间网络进行网格划分,得到包括所述网格区域的目标空间网络。
[0143]
在一个实施例中,确定模块还用于基于声源与目标对象之间的距离值,确定所述声源对应的增益值;距离感处理模块还用于基于所述增益值,对所述声源的音频信号进行衰减处理或者放大处理,得到所述声源的距离感音频信号。
[0144]
在一个实施例中,获取模块还用于获取参考距离值和增益上限值;确定模块还用于基于所述参考距离值、所述增益上限值以及所述距离值,确定所述声源对应的距离增益
值。
[0145]
在一个实施例中,获取模块还用于获取所述网格区域内各所述声源的坐标值和音频权重值;确定模块还用于基于所述坐标值和所述音频权重值,确定所述网格区域的中心坐标值;将所述中心坐标值对应的位置作为所述网格区域的声像中心。
[0146]
在一个实施例中,获取模块还用于获取所述网格区域内各所述声源的音频能量值;确定模块还用于基于所述音频能量值,确定所述网格区域内所有所述声源的总音频能量值;基于所述音频能量值和所述总音频能量值,确定所述网格区域内各所述声源的音频权重值。
[0147]
在一个实施例中,所述装置还包括:查找模块用于查找与所述声像中心对应的激励信号;构建模块还用于基于所述激励信号和所述网格区域的混音音频信号,构建立体音频信号。
[0148]
在一个实施例中,构建模块还包括:卷积处理单元,用于基于所述左声道激励信号,对所述网格区域的混音音频信号进行卷积处理,得到左声道音频信号;基于所述右声道激励信号,对所述网格区域的混音音频信号进行卷积处理,得到右声道音频信号。
[0149]
在一个实施例中,确定模块还用于在目标空间网络内确定具有所述声源的网格区域;确定具有所述声源的网格区域的数量;混音处理模块还用于基于所述网格区域的数量,对所有所述立体音频信号的左声道音频信号进行混音处理,得到所述左声道混音音频信号;基于所述网格区域的数量,对所有所述立体音频信号的右声道音频信号进行混音处理,得到所述右声道混音音频信号。
[0150]
关于音频生成装置的具体限定可以参见上文中对于音频生成方法的限定,在此不再赘述。上述音频生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0151]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储音频生成数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种音频生成方法。
[0152]
本领域技术人员可以理解,图12中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0153]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0154]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0155]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备
的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0156]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0157]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0158]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。