1.本技术涉及音频处理技术领域,特别是涉及一种模拟冲激响应的生成方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术:2.近年来,随着计算机技术的发展,房间声学的研究与应用领域也越来越广泛,常用于辅助建筑声学的设计与实现可听化。混响是建筑声学中的重要声学特性。而对于混响的研究,房间冲激响应(room impulse response,rir)是较为关键的方向。房间冲激响应为衡量声音在密闭或半开放空间内传播时由于声音的衰减与反射造成的原始音频的延迟与能量衰减情况的有限冲激响应(finite impulse response,fir)滤波器。
3.在各种音频处理任务中,需要使用大量的冲激响应进行分析。例如对于音频处理模型而言,其准确性依赖于大量的训练数据进行训练。真实环境下的冲激响应通过现场录制获取。然而这种收集真实数据的方式难以满足依赖大量数据进行分析与处理的需求,并且需要耗费较高的成本,难以覆盖不同种类的空间与环境类型。
4.因此,如何高效获取各种空间环境下的高度类似真实环境的冲激响应,是目前亟待解决的问题。
技术实现要素:5.基于此,有必要针对上述技术问题,提供一种能够快速生成不同种类的冲激响应的模拟冲激响应的生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.一方面,本技术提供了一种模拟冲激响应的生成方法。所述方法包括:
7.获取与当前模拟场景对应的场景布置参数,所述场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数;
8.基于所述直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与所述直线距离间的差异满足预设分布条件;
9.根据所述模拟行进距离确定模拟反射次数,其中,所述模拟反射次数与所述模拟行进距离呈正相关;
10.基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失;
11.根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。
12.另一方面,本技术还提供了一种模拟冲激响应的生成装置。所述装置包括:
13.获取模块,用于获取与当前模拟场景对应的场景布置参数,所述场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数;
14.采样模块,用于基于所述直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与所述直线距离间的差异满足预设分布条件;
15.确定模块,用于根据所述模拟行进距离确定模拟反射次数,其中,所述模拟反射次数与所述模拟行进距离呈正相关;
16.所述确定模块,还用于基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失;
17.生成模块,还用于根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。
18.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述模拟冲激响应的生成方法的步骤。
19.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述模拟冲激响应的生成方法的步骤。
20.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述模拟冲激响应的生成方法的步骤。
21.上述模拟冲激响应的生成方法、装置、计算机设备、存储介质和计算机程序产品,基于场景布置参数确定当前的模拟场景,通过调整场景布置参数能够快速模拟不同的房间种类和陈设状况,并覆盖不同种类的边界空间与环境类型;基于场景布置参数中所设置的声源与接收器的直线距离,模拟声波从声源到接收器之间各种各样的反射路径,并生成不同的反射距离并确定反射次数,能够贴合真实的声波随机反射的情况;最后通过计算不同的反射路径和反射次数下与各个声源对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。本技术无需进行房间建模,也无需对物理仿真的每一条声波的反射路径进行计算,计算的复杂度大大降低,能够快速生成各种各样的模拟冲激响应,生成的效率更高。
附图说明
22.图1为一个实施例中模拟冲激响应的生成方法的应用环境图;
23.图2为一个实施例中模拟冲激响应的生成方法的流程示意图;
24.图3为一个实施例中当前模拟环境的示意图;
25.图4为一个实施例中确定模拟反射次数的步骤的流程示意图;
26.图5为一个实施例中确定模拟反射损失的步骤的流程示意图;
27.图6为一个实施例中生成模拟冲激响应的步骤的流程示意图;
28.图7为一个实施例中对滤波器参数进行更新的原理示意图;
29.图8为另一个实施例中对滤波器参数进行更新的原理示意图;
30.图9为一个实施例中模拟冲激响应的生成装置的结构框图;
31.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
32.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
33.对于空间内的一个声源与一个接收器(如麦克风或其他收音设备),该声源与该接收器所对应的房间冲激响应由声源与接收器所位于的边界空间的大小、陈设、材质、环境温度与湿度、或者声源和接收器所处的空间位置中的一种或多种来确定。其中,边界空间包括半开放空间和封闭空间。
34.真实环境下的房间冲激响应一般通过现场录制获取。然而,以现场录制的方式收集真实的房间冲激响应,不仅需要特定的设备而导致消耗较高的成本,并且难以覆盖不同种类的边界空间与环境类型。
35.为了方便地生成不同种类的房间冲激响应,通常利用物理仿真的方式对房间冲激响应进行模拟。现有的物理仿真方式通过模型进行建模来模拟房间内的声波反射情况,通常包括反射模型、散射模型与追踪模型三类。
36.反射模型假设在密闭的房间中,房间的边界(例如墙体)是光滑的,声波在传输过程中若经过了墙体,会进行具有能量损失的镜面反射。所有经过若干次反射后被接收器捕捉到的声波组合,构成了该声源与接收器之间的房间冲激响应。
37.散射模型在反射模型的基础上,假设墙面是粗糙的,由此声波在传输经过墙体的时候会进行随机角度的散射与能量衰减,并且散射模型假设所有散射后的声波的总能量与散射前的声波的总能量相等。
38.追踪模型使用光线追踪的方式对声波的传播路径进行跟踪与模拟,需要事先输入关于房间或半开放空间的三维建模信息,包括墙体信息与内部陈设信息。
39.上述各种物理仿真的方式需要对房间空间进行建模并需要计算大量的声波反射或散射路径,而对于房间内有不同的陈设(如桌椅、桌面摆设、家具电器等)的情况,计算复杂度过高,生成房间冲激响应的效率低下。而且,物理仿真的方式只能对方形房间进行建模,无法模拟不规则的房间类型。
40.在另一种方式中,通过将真实收集的房间冲激响应输入至神经网络中进行训练,以期输出模拟的房间冲激响应。然而通过神经网络模型生成的方式不仅依赖于真实收集的房间冲激响应,所生成的模拟的房间冲激响应也可能并不符合真实的声波反射情况。
41.有鉴于此,本技术实施例提供一种模拟冲激响应的生成方法,通过快速模拟不同的房间种类和陈设状况,能够覆盖不同种类的边界空间与环境类型;基于声源与接收器的直线距离,模拟声波从声源到接收器之间各种各样的反射路径和反射次数,能够贴合真实的声波反射情况;通过计算不同的反射路径和反射次数下与各个声源对应的模拟反射损失,进而生成当前模拟场景下的模拟冲激响应。
42.本技术实施例无需复杂的物理仿真与建模,计算效率高,并且无需依赖于特殊计算平台(如gpu)进行复杂计算。
43.本技术实施例提供的模拟冲激响应的生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。终端102或服务器104获取场景布置参数,基于不同的场景布置参数,可以快速模拟不同的房间种类和环境类型。对于所设置的每个声源,基于场景布置参数中接收器与至少一个声源间的直线距离,终端102或服务器104可以确定在预设采样率下每个采样样本对应的模拟
行进距离,并基于模拟行进距离确定模拟反射次数,进而确定与各个声源对应的模拟反射损失。由此,根据与各个声源分别对应的模拟反射损失,终端102或服务器104即可生成当前模拟场景下的模拟冲激响应。
44.其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、智能语音交互设备、物联网设备、便携式可穿戴设备、飞行器等。物联网设备可为智能家电、智能车载设备,智能家电例如为智能音箱、智能电视、智能空调,智能车载设备例如为车载终端等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
45.其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、或者大数据和人工智能平台等基础云计算服务的云服务器。
46.在一个实施例中,终端上可装载有app(application)应用程序或具备音乐播放、或语音交互等功能的应用程序,包括传统需要单独安装的应用程序、或者不需要下载安装即可使用的小程序应用。终端可以通过应用程序播放带混响或去混响的音乐,或在语音交互的过程中实现降噪等。
47.在一个实施例中,如图2所示,提供了一种模拟冲激响应的生成方法,该方法可以应用于终端或服务器,也可以由终端和服务器协同执行。下面以该方法应用于计算机设备为例进行说明,包括以下步骤:
48.步骤s202,获取与当前模拟场景对应的场景布置参数,场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数。
49.其中,场景布置参数用于表征对冲激响应进行模拟的场景状况。场景状况包括但不限于声源和接收器的配置、物理环境情况等中的一种或多种。声源和接收器的配置例如声源和接收器的数量、或者各个声源和接收器的位置等中的一种或多种。在一个实施例中,各个声源和接收器的位置可以通过各个声源分别与接收器之间的直线距离来表征。
50.示例性地,假设房间内设置有c个声源,对于每个声源c,其与接收器的直线距离为由此,对于各种不同的声源和接收器的设置情况,可得到多个直线距离
51.物理环境情况可以通过环境空间参数来表征。在一个实施例中,环境空间参数包括但不限于环境混响参数和环境陈设参数等中的一种或多种。
52.其中,环境混响参数用于表征声源发出的声波能量在经过在房间内反射、或经墙壁吸收等后,衰减预设值所需的时间。示例性地,环境混响参数以t
60
表示,t
60
用于表示声波的能量衰减预设值60db所需的时间;环境混响参数t
60
的取值范围可以在[0.1,1.5]之间。
[0053]
其中,环境陈设参数用于表征房间内的陈设情况,例如桌椅、桌面摆设、或者家具电器等的摆放情况等。示例性地,环境陈设参数以r表示,取值范围可以在[0.1,t
60
]之间。示例性地,如图3所示,以一个声源为例进行展示说明,房间内存在声源p和接收器m,其中声源p与接收器m之间的直线距离为d0,也就是声波不经过任何反射直达接收器m并被接收器m所接收。而除了直达声波,在房间内还存在各种各样的反射声波,例如图中带箭头虚线所示。
[0054]
在一个实施例中,获取与当前模拟场景对应的场景布置参数,包括:计算机设备获取预先设置的环境空间参数,以模拟不同的房间种类和环境类型。并且,计算机设备获取预先设置的声源和接收器的数量和位置,并基于声源和接收器的数量和位置,获取各个声源
分别与接收器之间的直线距离。
[0055]
步骤s204,基于直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与直线距离间的差异满足预设分布条件。
[0056]
其中,采样率表征对声波进行采样的频率。基于采样率和采样的时间,能够得到总共的采样点数量。为了捕捉声源的细微位置变化对反射情况的影响,例如由于声源的位置变化导致的不同的模拟行进距离之间的细微差距,在采样时使用较高的预设采样率进行采样,以获取更加真实的声波反射情况。
[0057]
在预设采样率下,计算机设备分别对每个声源发出的声波进行采样,得到多个采样样本。每个采样样本对应于通过采样得到的模拟行进距离。模拟行进距离表征从声源处开始,声源发出的声波经反射后被接收器所接收这一过程中声波行进的距离。
[0058]
由于实际场景中房间内一般存在大量的物体,声波通常需要经过多次反射才能被接收器所接收的可能性较大,因此行进距离更远的反射声波的数量相较于经过少量次数的反射即被接收器所接收的声波数量而言应该更多。因此,为了模拟声波在经过不同的物体表面的反射后被接收器所接收的情况,并贴合声波的反射次数越多、其行进距离可能越大的实际物理场景,本技术实施例中,采样得到的各模拟行进距离与直线距离间的差异满足预设分布条件。其中,预设分布条件指的是采样得到的多个模拟行进距离服从如下分布:与直线距离接近的模拟行进距离应当较少,越大于直线距离的模拟行进距离应当越多。同时,本技术实施例中假设采样得到的模拟行进距离与直线距离具有比例关系。
[0059]
在一个实施例中,基于直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,包括:对于每一个声源,计算机设备在预设采样率下对声源发出的声波进行采样,得到服从预设分布条件分布的多个采样样本,每一个采样样本分别对应有采样得到的模拟行进距离与相应的直线距离之间的比例关系。基于所获取的直线距离和该比例关系,计算机设备即可得到服从预设分布条件分布的多个模拟行进距离。比如,模拟行进距离与相应的直线距离成正比。示例性地,对于每个声源c,计算机设备进行采样得到rt个采样样本其中,经采样得到的第i个模拟行进距离为
[0060]
步骤s206,根据模拟行进距离确定模拟反射次数,其中,模拟反射次数与模拟行进距离呈正相关。
[0061]
由于声波的行进距离越长,反射次数可能越多,声波的行进距离与反射次数呈正相关关系。相应地,声波的模拟行进距离与模拟反射次数之间也呈正相关关系。由此,依照声波的模拟行进距离与模拟反射次数的正相关关系,基于采样得到的模拟行进距离,即可确定与模拟行进距离相对应的模拟反射次数。
[0062]
示例性地,对于每个声源c,基于采样得到的模拟行进距离计算机设备确定与该模拟行进距离相对应的模拟反射次数
[0063]
在一个实施例中,根据模拟行进距离确定模拟反射次数,包括:对于每一个声源,计算机设备根据采样得到的模拟行进距离,基于模拟行进距离与模拟反射次数之间的正相关关系,确定对应的模拟反射次数。在一个实施例中,正相关关系包括正比比例关系,相应地,计算机设备基于预先设置的模拟行进距离与模拟反射次数之间的正比比例系数,基于该正比比例系数与模拟行进距离,确定对应的模拟反射次数。
[0064]
步骤s208,基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及模拟反射次数,分别确定与各个声源对应的模拟反射损失。
[0065]
其中,反射系数为声波的能量衰减系数,用于表征声波在反射过程中经墙体吸声后的能量衰减情况。反射系数与所模拟的环境有关。在一个实施例中,反射系数可以基于环境混响参数和环境陈设参数而确定。示例性地,反射系数rc为基于环境混响参数t
60
和环境陈设参数r进行经验性估计得到。
[0066]
在一个实施例中,基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及模拟反射次数,分别确定与各个声源对应的模拟反射损失,包括:计算机设备基于环境空间参数,确定当前模拟场景对应的反射系数,以表征在当前模拟场景下声波在每次反射时的能量损失情况。对于每一个声源,计算机确定与该声源对应的各个模拟行进距离,并确定基于模拟行进距离得到的模拟反射次数。在此基础上结合模拟行进距离,计算机设备即可计算得到每次反射时对应的模拟反射损失。
[0067]
例如,对于每个声源c,计算机设备根据反射系数rc和模拟反射次数确定在经过该模拟反射次数的次数的反射后反射系数rc的目标值,再基于该目标值与模拟行进距离计算相应的模拟反射损失
[0068]
步骤s210,根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。
[0069]
基于每个声源各自分别对应的各个模拟反射损失,确定每个声源在同一个采样点上各自对应的能量衰减情况,由此可表征各个声源发出声音后,各个声波在散射或反射的过程中,该采样点能够采样得到的能量情况。
[0070]
在一个实施例中,根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应,包括:对于每个声源,计算机设备确定各个模拟反射损失,并将各个声源分别对应于同一个采样点的模拟反射损失相加,由此得到该采样点对应的总的声波的能量衰减情况。
[0071]
其中,当前模拟场景下采样点的数量上限可以基于预设采样率和房间混响参数而得到。对于每个声源,基于预设采样率和模拟行进距离,即可得到与各个声源各自对应的采样点位置。对于每一个采样点均进行上述计算,基于各个采样点对应的总的模拟反射损失,即可确定当前模拟场景下的模拟冲激响应。
[0072]
在一个实施例中,基于各个采样点对应的总的模拟反射损失,计算机设备确定当前模拟场景下初始的模拟冲激响应,再经过进一步优化处理,得到最终的模拟冲激响应。
[0073]
上述模拟冲激响应的生成方法中,基于场景布置参数确定当前的模拟场景,通过调整场景布置参数能够快速模拟不同的房间种类和陈设状况,并覆盖不同种类的边界空间与环境类型;基于场景布置参数中所设置的声源与接收器的直线距离,模拟声波从声源到接收器之间各种各样的反射路径,并生成不同的反射距离并确定反射次数,能够贴合真实的声波随机反射的情况;最后通过计算不同的反射路径和反射次数下与各个声源对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。
[0074]
本技术实施例提供的模拟冲激响应的生成方法,通过替代反射模型与散射模型中需要较大计算量的物理建模部分,在保留声波传播的物理意义的同时,增强了声波传播路
径与房间内陈设情况的随机性,相对于只能对方形房间建模的反射与散射模型而言,能够真实地模拟物理世界中的声波传播情况。
[0075]
本技术实施例提供的模拟冲激响应的生成方法,能够对传统的传播公式进行近似模拟,无需在三维坐标系中计算每一条由声源反射后被接收器捕捉到的声波的传输路径中的gi与di的数值,能够极大地降低计算复杂度,提高效率。并且,能够模拟房间内存在不同陈设情况下的复杂声源反射情况。传播公式如下所示:
[0076][0077]
其中,其中f[n]为rir滤波器,n为时间戳,rt为反射次数,rc为反射系数,gi为第i个反射声波在传播过程中的反射次数,di为第i个反射声波在传播过程中的总行进距离,δ[]为狄拉克函数,fi为rir生成过程中的采样率,v为空气中的音速。
[0078]
本技术无需进行房间建模,也无需对物理仿真的每一条声波的反射路径进行追踪和计算,计算的复杂度大大降低,通过对场景布置参数进行调整,并结合以一定分布采样得到的模拟行进距离,能够快速生成各种各样的模拟冲激响应,生成的效率更高。
[0079]
为了模拟实际场景中声波在陈设有大量物体的房间内的反射情况,使得采样得到的模拟行进距离中,与直线距离接近的模拟行进距离应当较少,远大于直线距离的模拟行进距离应当较多。在一个实施例中,基于直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,包括:获取多个预设变量值,其中,多个预设变量值的出现概率满足概率密度分布函数,概率密度分布函数表征预设变量值越大,相应预设变量值出现的概率越大。基于多个预设变量值确定对应的多个距离变换系数。根据各距离变换系数与直线距离,确定在预设采样率下的各采样样本分别对应的模拟行进距离。
[0080]
在采样过程中,采样的概率满足概率密度分布函数。概率密度分布函数为二次函数概率分布,表征预设变量值越大,相应预设变量值出现的概率越大。换言之,利用该概率密度分布函数进行采样的目的在于使得采样得到的模拟行进距离中,与直线距离接近的模拟行进距离的数量应当较少,比直线距离大的越多其数量应该越多。示例性地,概率密度分布函数可以通过如下公式表示:
[0081][0082]
其中,x为预设变量值,α和β为概率密度分布的边界参数。
[0083]
同时,对于每一个声源,基于所采样得到的各个模拟行进距离应与该声源与接收器之间的直线距离呈比例关系。因此,在一个实施例中,基于直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,包括:在预设采样率下,计算机设备基于预设的概率密度分布函数进行采样,得到服从相应的概率密度分布的多个预设变量值。基于采样得到的预设变量值,计算机设备以预设变量值为基数进行变换,得到多个距离变换系数。对于每个声源,基于预先设置的直线距离和计算得到的多个距离变换系数,计算机设备即可计算得到多个模拟行进距离。
[0084]
示例性地,对于每个声源c,计算机设备基于服从p(x)这一概率密度分布函数的预设值进行采样,得到rt个采样样本其中对于各采样样本分别对应的模拟行进距离可以通过如下公式计算得到:
[0085][0086]
其中,v为音速。在一个示例中,α=0.25,β=1。
[0087]
上述公式可以表征模拟行进距离与直线距离之间的比例关系,即模拟行进距离与直线距离呈倍数关系。
[0088]
其中,基于音速、环境混响参数以及直线距离,计算机设备可得到模拟行进距离与直线距离之间倍数的上限值。比如,模拟行进距离与直线距离之间倍数的上限值
[0089]
上述公式中,基于采样过程中预设值所服从的概率密度分布函数,可以将采样概率的分布关系转换成模拟行进距离的分布关系。即,预设变量值的取值在[α,β]之间,通过上述转换可以得到模拟行进距离与直线距离之间的倍数在[1,w]之间。
[0090]
上述实施例中,通过预设概率密度分布函数,并基于该概率密度分布函数进行采样,能够真实地模拟实际场景中声波在陈设有大量物体的房间内的反射情况,所生成的模拟冲激响应更加真实可靠。
[0091]
承前所述,声波的行进距离与反射次数之间应当存在正相关关系,即,行进距离越长的声波可能经历的反射次数越多。基于该正相关关系,在已知行进距离的情况下即可获知相应的反射次数。为此,在一个实施例中,如图4所示,根据模拟行进距离确定模拟反射次数,包括:
[0092]
步骤s402,在各个采样样本各自对应的模拟行进距离中,确定最大模拟行进距离。
[0093]
步骤s404,依照声波的行进距离与反射次数的正相关关系,基于最大模拟行进距离确定最大模拟反射次数。
[0094]
步骤s406,确定模拟行进距离与最大模拟行进距离之间的距离比例关系。
[0095]
步骤s408,基于距离比例关系和最大模拟反射次数,确定每个模拟行进距离对应的模拟反射次数;其中,模拟反射次数与最大模拟反射次数的反射比例关系与距离比例关系一致。
[0096]
其中,最大模拟反射次数表征声波的能量衰减60db时所经历的反射次数。基于行进距离与反射次数之间的正相关关系,最大模拟反射次数与最大模拟行进距离之间也呈正相关关系。由此,在采样得到的各个模拟行进距离中,通过确定最大模拟行进距离即可确定最大模拟反射次数。基于模拟行进距离对于最大模拟行进距离的距离比例关系,以及最大模拟反射次数,计算机设备可以计算得到每个模拟行进距离对应的模拟反射次数。
[0097]
在一个实施例中,根据模拟行进距离确定模拟反射次数,包括:对于每一个声源,计算机设备在采样得到的各个采样样本各自对应的模拟行进距离中,找到各个模拟行进距离中的最大值,作为最大模拟行进距离。基于模拟行进距离与最大模拟行进距离的距离比
例关系,计算机设备即可确定模拟反射次数与最大模拟反射次数的反射比例关系,基于反射比例关系和最大模拟反射次数,即可计算与模拟行进距离对应的模拟反射次数。
[0098]
其中,模拟反射次数与最大模拟反射次数的反射比例关系与距离比例关系一致,例如,反射比例关系与距离比例关系可以相等、或呈倍数关系等。
[0099]
示例性地,对于每一个声源c,计算机设备在采样得到的多个模拟行进距离中,找到最大模拟行进距离基于表征声波的能量衰减情况的反射系数rc和该声源与接收器之间的直线距离计算机设备可以计算与该声源对应的最大模拟反射次数例如,最大模拟反射次数可以依照如下公式进行计算:
[0100][0101]
基于模拟行进距离和最大行进距离,计算机设备可以计算得到二者的距离比例关系。示例性地,模拟行进距离和最大行进距离之间的距离比例关系可以表示为
[0102]
对于每个声源c,基于模拟行进距离和最大模拟行进距离之间的距离比例关系,可以通过如下公式计算与模拟行进距离对应的模拟反射次数
[0103][0104]
上述公式中,当模拟行进距离即为最大模拟行进距离,即上述公式中,当模拟行进距离即为最大模拟行进距离,即时,所计算得到的模拟反射次数即为最大模拟反射次数其中,模拟反射次数与最大模拟反射次数之间的反射比例关系可以表示为在上述公式中,该反射比例关系作了适当变形,即上述公式中,该反射比例关系作了适当变形,即由此保证模拟得到的模拟反射次数的取值在1与最大模拟反射次数之间,即,模拟反射次数的取值为
[0105]
上述实施例中,基于反射次数与行进距离的正相关关系,根据最大模拟行进距离确定相应的最大模拟反射次数,以此模拟真实物理世界中行进距离越长的声波可能经历的反射次数越多的声波反射情况;再基于距离比例关系与反射比例关系,即可得到每条声波对应的反射次数。由此,可以基于采样得到的采样样本快速模拟声波的各种反射情况,在效率更高的同时能够保证模拟得到的模拟冲激响应符合真实的物理场景。通过随机生成模拟行进距离并确定模拟反射次数,避免了传统物理仿真中逐个对声波的每条传播路径进行的复杂仿真计算,效率更高。
[0106]
在一个实施例中,如图5所示,基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及模拟反射次数,分别确定与各个声源对应的模拟反射损失,包括:
[0107]
步骤s502,基于环境混响参数和环境陈设参数,确定反射系数。
[0108]
步骤s504,对于每个声源,根据反射系数,并基于相应声源对应的各采样样本的模拟反射次数,确定与各采样样本分别对应的目标反射系数。
[0109]
步骤s506,对于每个声源,基于与相应声源对应的各采样样本的模拟反射距离和
目标反射系数,确定与相应声源对应的各采样样本分别对应的模拟反射损失;其中,模拟反射损失表征声波经模拟反射次数的反射后的能量损失。
[0110]
不同的环境场景下反射系数不同。在一个实施例中,计算机设备基于环境混响参数和环境陈设参数,确定反射系数。示例性地,可以通过如下公式计算反射系数rc:
[0111][0112]
基于反映声波在每次反射时能量的衰减情况的反射系数,对于每条声波,其反射次数不同,能够得到相应的反射损失。在一个实施例中,对于每个声源,计算机设备根据反射系数和该声源对应的各采样样本的模拟反射次数,确定与各采样样本分别对应的目标反射系数,以表征声波在经过模拟反射次数的反射后能量衰减系数的变化。由此,基于目标反射系数和各采样样本的模拟反射距离,计算机设备即可计算确定与相应声源对应的各采样样本分别对应的模拟反射损失,以表征声波经模拟反射次数的反射后的能量损失。
[0113]
示例性地,对于每个声源c,计算机设备基于反射系数rc和模拟反射次数计算目标反射系数再通过如下公式计算相应声源对应的各采样样本分别对应的模拟反射损失
[0114][0115]
在上述实施例中,在当前模拟场景下,对于每一个声源的各条反射声波,模拟其基于模拟反射次数的反射后的模拟反射损失,避免了传统物理仿真中逐个计算每条声波的反射路径和反射次数的复杂仿真计算过程,通过随机生成模拟行进距离并确定模拟反射次数,进而计算模拟反射损失,效率更高。
[0116]
在声波的反射过程中,可能存在如下情况:声波的行进距离相等,但属于不同的反射路径,因此可能具有不同的反射次数与能量衰减情况。同时,在真实的物理世界中,声波会在房间内进行随机散射,因此行进距离和反射次数也具有随机性。因此,为了模拟上述情况并增强模拟声波的随机性,在一个实施例中,根据模拟行进距离确定模拟反射次数之后,方法还包括:基于随机反射波动对所确定的模拟反射次数进行更新,以得到添加随机反射波动的模拟反射次数;其中,随机反射波动基于在预设的均匀分布中随机采样得到。
[0117]
为了使得模拟的声波具备更强的随机性,可以预设具有上边界和下边界的均匀分布,并在该均匀分布中进行随机采样得到随机反射波动。基于随机反射波动对模拟反射次数进行更新,得到添加随机反射波动的模拟反射次数,以此模拟更多随机的模拟反射损失。
[0118]
在一个实施例中,对于每一个声源,计算机设备通过随机采样得到多个随机反射波动,并利用该随机反射波动对所确定的模拟反射次数进行更新,从而得到添加随机反射波动的模拟反射次数。
[0119]
示例性地,计算机设备随机生成每个声源c的随机反射波动其中,随机反射波动服从预设的均匀分布,即其中,~u(-2,2)表示从上边界为2、下边界为-2的均匀分布中进行随机采样。
[0120]
由此,对于所确定的模拟反射次数计算机设备可以通过如下公式对其进行更新:
[0121][0122]
其中,θ为更新时与模拟行进距离相关的参数,例如可以取值为0.25等。
[0123]
上述公式类比赋值的过程,公式左边的模拟反射次数为更新后添加随机反射波动的模拟反射次数,公式右边的模拟反射次数为更新前经计算确定的模拟反射次数。
[0124]
相对应地,基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及模拟反射次数,分别确定与各个声源对应的模拟反射损失,包括:基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及添加随机反射波动的模拟反射次数,分别确定与各个声源对应的模拟反射损失。
[0125]
在一个实施例中,计算机设备在步骤s206之后,对所确定的模拟反射次数增加波动,得到添加随机反射波动的模拟反射次数;相应地,在执行步骤s208时,计算机设备根据添加随机反射波动的模拟反射次数来计算模拟反射损失。类似地,计算机设备在执行步骤s504~s506时,所使用的模拟反射次数也可以为添加随机反射波动的模拟反射次数。具体流程和步骤请参照前述实施例,此处不再赘述。
[0126]
上述实施例中,通过随机生成每个声源对应的随机反射波动,使得模拟的声波具备更强的随机性,所模拟的声波反射情况更加真实、符合真实物理世界中的声波反射和散射情况,进而生成的模拟冲激响应更加真实。
[0127]
在确定每个声源对应的多个模拟反射损失后,在一个实施例中,如图6所示,根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应,包括:
[0128]
步骤s602,初始化滤波器参数。
[0129]
步骤s604,基于各个声源的模拟反射损失,对初始的滤波器参数进行更新,得到当前模拟场景下初始的模拟冲激响应。
[0130]
步骤s608,对初始的模拟冲激响应进行过滤处理,得到最终的模拟冲激响应。
[0131]
承前所述,房间冲激响应为衡量声音在密闭或半开放空间内传播时由于声音的衰减与反射造成的原始音频的延迟与能量衰减情况的有限冲激响应滤波器。在得到模拟反射损失之后,基于该模拟反射损失和滤波器参数,由滤波器输出模拟冲激响应。
[0132]
在一个实施例中,滤波器参数通常为一维向量,该一维向量中包括对应于预设采样率下各个采样点位置的分量。其中,采样点位置满足如下条件:
[0133][0134]
其中,l
rir
为当前模拟场景下模拟冲激响应的有效长度,可以通过如下公式进行计算:
[0135]
l
rir
=ceil(srh×
t
60
)
[0136]
上述公式中,ceil()表示向上取整函数。在预设采样率srh所规定的采样频率下,经过t
60
对应的时间,即可得到当前模拟场景下的采样点数量的上限。通常采样点为均匀分
布,因此即可确定模拟冲激响应的有效长度l
rir
。
[0137]
在一个实施例中,计算机设备对滤波器参数进行初始化,即将滤波器参数初始化为全零向量,该全零向量即为初始的滤波器参数。示例性地,滤波器参数对于每个声源,计算机设备根据该声源对应的多个模拟反射损失,对与该声源对应的初始的滤波器参数进行更新,得到该声源对应的滤波器参数。计算机设备将全部声源的滤波器参数中,对应于同一采样点位置的值进行累加,即可得到最终的滤波器参数,由此,即可确定当前模拟场景下初始的模拟冲激响应。
[0138]
具体地,对于每个声源,计算机设备计算与该声源对应的滤波器参数,再将各个声源在同一采样点各自对应的模拟反射损失进行累加,得到各个采样点对应的总的模拟反射损失,由此确定全部采样点对应的总的模拟反射损失,即可得到当前模拟场景下初始的模拟冲激响应。
[0139]
其中,对于每个声源,计算机设备计算与该声源对应的滤波器参数,包括:对于该声源的rt次反射中的第i次反射(1≤i≤rt),计算机设备确定其对应的采样点位置,即确定其模拟反射损失对应于一维向量中的采样点位置。由此,在相应的采样点位置上,计算机设备基于模拟反射损失进行赋值,从而对初始的滤波器参数进行更新。由此,基于各个声源在各个采样点位置上的模拟反射损失,计算机设备进行累加即可得到在设置有多个声源的当前模拟场景下,初始的模拟冲激响应。示例性地,计算机设备对于全零向量fc,在其第个位置的值加上类比赋值的过程,其可以通过如下公式表示:
[0140][0141]
如图7所示,对于一个声源c1,假设其在采样点位置a上对应的模拟反射损失为rd1,在采样点位置b上对应的模拟反射损失为rd2,在采样点位置c上对应的模拟反射损失为rd3……
。由此,根据该声源的声波在各个采样点位置上的模拟反射损失,将其赋值至滤波器参数中相应的采样点位置,由此可以更新该声源对应的滤波器参数。
[0142]
如图8所示,假设在采样点位置b上,声源c2对应有模拟反射损失rd4,则计算机设备将声源c1和声源c2分别在该采样点位置b上的模拟反射损失进行累加,由此得到该采样点位置b上的总的模拟反射损失。
[0143]
在得到初始的模拟冲激响应之后,初始的模拟冲激响应进行过滤处理,以对初始的模拟冲激响应进行优化,从而得到最终的模拟冲激响应。其中,过滤处理包括但不限于下采样处理或滤波处理等中的一种或多种。
[0144]
承前所述,以高采样率进行采样,能够捕捉声源细微的位置变化对模拟冲激响应的影响。由于最先开始是在一个较高的采样率下进行采样的,较高的采样率采样得到的数据量较大。同时,在高采样率下所采样得到的数据中,可能存在噪声数据,因此通常采用滤波的方式对模拟冲激响应进行处理。但如果直接对以高采样率进行采样得到的数据进行滤波,计算量太大。因此,为了降低数据计算量并提高效率,在一个实施例中,对初始的模拟冲激响应进行过滤处理,得到最终的模拟冲激响应,包括:以第一采样率对初始的模拟冲激响应进行下采样处理,得到第一模拟冲激响应。以预设截断频率对第一模拟冲激响应进行滤波,得到第二模拟冲激响应。以第二采样率对第二模拟冲激响应进行下采样处理,得到最终的模拟冲激响应;其中,预设采样率大于第一采样率,第一采样率大于第二采样率。
[0145]
其中,预设采样率为最高的采样率,第一采样率为中等的采样率,而第二采样率为最低的采样率,通常第二采样率为目标的采样率。
[0146]
计算机设备对初始的模拟冲激响应进行下采样处理,将采样率由预设采样率降低至第一采样率,并将经第一次下采样处理后的模拟冲激响应,作为第一模拟冲激响应。
[0147]
如果直接将以模拟冲激响应降至最低的目标采样率(即第二采样率),再进行滤波处理,由于滤波处理伴随一定的损失和失真,会导致最终得到的模拟冲激响应不完整或者不准确。因此,在第一次下采样得到第一模拟冲激响应之后,计算机设备先进行滤波处理得到第二模拟冲激响应。即,对于降低采样率得到的第一模拟冲激响应,计算机设备对其进行滤波处理,以预设截断频率对第一模拟冲激响应进行滤波,从而得到第二模拟冲激响应。示例性地,计算机设备通过预设截断频率为80hz的高通滤波器对第一模拟冲激响应进行高通滤波。计算机设备再对第二模拟冲激响应进行下采样处理,将采样率进一步降至第二采样率,从而得到目标的采样率下最终的模拟冲激响应。
[0148]
示例性地,对于初始的模拟冲激响应,计算机设备对其进行下采样操作,将其采样率由srh降至第一采样率sr
l
,得到更新后的模拟冲激响应即第一模拟冲激响应。计算机设备再对第一模拟冲激响应使用高通滤波器进行过滤,得到更新后的模拟冲激响应即第二模拟冲激响应。最后,计算机设备对第二模拟冲激响应进行下采样操作,将其采样率由第一采样率sr
l
降至目标的第二采样率sr,得到更新后的模拟冲激响应即为最终的模拟冲激响应。
[0149]
上述实施例中,通过对模拟冲激响应进行优化处理,所生成的模拟冲激响应更加准确。
[0150]
本技术实施例提供的模拟冲激响应的生成方法,能够快速生成大量的模拟冲激响应。该模拟冲激响应可以用于各种各样的场景,例如通过与原始的音频数据进行混合处理,生成带混响的音频数据,以作为各种音频处理模型的输入,对音频处理模型进行训练。或者,基于原始的音频数据生成带混响的音频数据,从而实现音频的带混响效果。
[0151]
在一个实施例中,在生成模拟冲激响应之后,计算机设备可以将其与原始的音频数据进行混合,从而生成带混响的音频数据。上述方法还包括:获取待处理的音频数据。基于模拟冲激响应对音频数据进行卷积处理,生成带混响的音频数据。
[0152]
具体地,计算机设备获取待处理的音频数据,例如可以是一段语音、或一段音乐等。基于所得到的模拟冲激响应,计算机设备将其与待处理的音频数据进行卷积处理,生成带混响的音频数据。
[0153]
通过调整场景布置参数并结合模拟的声波反射和散射情况,能够快速生成各种房间类型下的模拟冲激响应。进而,对于待处理的音频数据,通过调整场景布置参数,能够快速生成大量混响程度不同的带混响的音频数据。
[0154]
在一个实施例中,通过上述方式快速生成大量的带混响的音频数据,在音频处理模型的数据集准备阶段,能够提供大量的训练样本,为后续模型的训练过程提供了有力的数据支持。并且,通过上述方法所生成的带混响的音频数据真实可靠,进而能够提高所训练的音频处理模型的准确度。
[0155]
以所生成的带混响的音频数据用于音频处理模型的训练过程为例,在一个实施例
中,上述方法还包括:在带混响的音频数据中添加噪声得到待训练数据。确定与待训练数据对应的参考音频数据,参考音频数据包括带混响去噪音频数据、及去混响去噪音频数据中的至少一种。基于待训练数据和相对应的参考音频数据,对待训练的音频处理模型进行训练,得到训练完成的音频处理模型。
[0156]
在一个实施例中,音频处理模型用于对音频进行轻度去噪,即去除音频数据中的噪声。为此,计算机设备在带混响的音频数据中添加噪声,得到待训练数据。计算机设备确定与该待训练数据对应的参考音频数据,该参考音频数据为在添加噪声之前,事先获取的带混响的音频数据,即带混响去噪音频数据。
[0157]
由此,计算机设备基于待训练数据和带混响去噪音频数据,对待训练的音频处理模型进行训练,得到训练完成的音频处理模型。比如,计算机设备将待训练数据输入至待训练的音频处理模型中,由该待训练的音频处理模型输出预测的音频数据,由此,计算机设备以参考音频数据与预测的音频数据之间的差异最小化为优化目标,对待训练的音频处理模型进行训练,直至达到训练条件时结束训练,从而得到训练完成的音频处理模型。训练条件例如为训练迭代次数达到预设次数、训练时长达到预设时长、或者参考音频数据与预测的音频数据之间的差异小于阈值等中的一种或多种。
[0158]
在另一个实施例中,音频处理模型用于对音频进行深度去噪,即去除音频数据中的噪声,并且去掉音频数据中的晚期混响。为此,计算机设备在带混响的音频数据中添加噪声,得到待训练数据。计算机设备确定与该待训练数据对应的参考音频数据,该参考音频数据为在添加噪声和添加混响之前,事先获取的待处理的音频数据,即去混响去噪音频数据。
[0159]
由此,计算机设备基于待训练数据和带混响去噪音频数据,对待训练的音频处理模型进行训练,得到训练完成的音频处理模型。具体的训练步骤与上述步骤类似,此处不再赘述。
[0160]
上述实施例中,通过将待混响的音频数据作为音频处理模型的输入样本,能够极大地扩充样本数量,实现对样本的增强处理,能够帮助提高音频处理模型的准确度。
[0161]
在实际的应用场景中,音频处理模型可以用于对给定的音频数据进行去噪、去混响,或者对于给定的音频数据,输出有混响效果的音频。例如,在音乐分离任务中,需要将语音音频与伴奏音频进行分离,得到纯净的语音音频、或者纯净的伴奏音频。以分离得到纯净的语音音频为例,在一个实施例中,上述方法还包括:获取待处理音乐,待处理音乐包括语音音频和伴奏音频;将待处理音乐输入至训练完成的音频处理模型中,通过训练完成的音频处理模型对待处理音乐中的语音音频和伴奏音频进行分离。
[0162]
具体地,计算机设备获取待处理音乐,并将该待处理音乐输入至训练完成的音频处理模型中。该训练完成的音频处理模型对该待处理音乐进行处理,并对待处理音乐中的语音音频和伴奏音频进行分离,输出纯净的语音音频、或者纯净的伴奏音频。例如,将伴奏音频视为噪声,通过训练完成的音频处理模型进行处理,输出带混响的语音音频、或者不带混响的语音音频等。
[0163]
由此,上述方法能够应用在音乐领域,实现语音音频和伴奏音频的快速分离,并且分离的准确度高。
[0164]
本技术还提供一种应用场景,该应用场景应用上述的模拟冲激响应的生成方法。具体地,该模拟冲激响应的生成方法在该应用场景的应用例如如下:终端通过获取用户所
设置的与当前模拟场景对应的场景布置参数,基于场景布置参数中的环境空间参数确定反射系数,从而确定当前模拟场景下的能量衰减系数。终端根据场景布置参数中的直线距离,在预设采样率下采样得到多个模拟行进距离,再根据采样得到的模拟行进距离计算模拟反射次数。进而根据反射系数、模拟行进距离和模拟反射次数,终端即可确定与各个声源对应的模拟反射损失,并生成当前模拟场景下的模拟冲激响应。当然并不局限于此,本技术提供的模拟冲激响应的生成方法还可以应用在其他应用场景中,例如音乐播放、在线直播、在线会议、车载智能对话、智能音箱、智能顶盒、或人声模拟等场景中的一种或多种。
[0165]
在一个实施例中,本技术提供的模拟冲激响应的生成方法,还可以通过集成的代码的方式,内嵌于各种具有音频输入或输出的装置上,例如麦克风、或降噪耳机等。
[0166]
在一个具体的实施例中,上述的模拟冲激响应的生成方法包括如下步骤:计算机设备获取与当前模拟场景对应的场景布置参数,场景布置参数包括接收器与至少一个声源间的直线距离环境混响参数t
60
和环境陈设参数r。基于环境混响参数t
60
和环境陈设参数r,计算机设备基于经验性估计能够计算得到当前模拟场景下的反射系数rc。
[0167]
在开始时,对于每个声源,计算机设备通过预设的概率密度分布函数,以服从概率密度分布p(x)的条件下进行采样,得到多个预设变量值
[0168]
对于每个声源c,计算机设备以p(x)为概率,采样rt个样本其中,
[0169]
计算机设备基于该多个预设变量值确定对应的多个距离变换系数,由此根据各距离变换系数与直线距离即可计算在预设采样率srh下的各采样样本分别对应的模拟行进距离
[0170]
通过上述采样方式,能够使得采样得到的各模拟行进距离与直线距离间的差异满足预设分布条件,即,与直线距离接近的模拟行进距离较少,越大于直线距离的模拟行进距离较多。
[0171]
在采样得到的各个模拟行进距离中,计算机设备确定最大模拟行进距离并依照声波的行进距离与反射次数的正相关关系,进而确定最大模拟反射次数由此,基于模拟行进距离与最大模拟行进距离之间的距离比例关系,以及模拟反射次数与最大模拟反射次数的反射比例关系,即可确定与每个模拟行进距离对应的模拟反射次数
[0172]
为了增强随机性,对于计算得到的模拟反射次数,计算机设备还通过在预设的均匀分布中随机采样,对模拟反射次数添加随机反射波动。
[0173]
由此,基于添加随机反射波动的模拟反射次数计算机设备根据反射系数rc,确定与各采样样本分别对应的目标反射系数进而基于该目标反射系数和各个模拟反射距离得到各采样样本分别对应的模拟反射损失
[0174]
对于每个声源所对应的多个采样样本各自对应的模拟反射损失计算机设备
在滤波器参数的初始化全零向量中,通过确定每一个采样点位置对应的属于不同声源的模拟反射损失,以累加的方式确定每一个采样点位置对应的总的模拟反射损失,得到初始的模拟冲激响应。
[0175]
为了进一步优化模拟冲激响应,计算机设备先以第一采样率sr
l
对初始的模拟冲激响应进行下采样处理,得到第一模拟冲激响应;再对第一模拟冲激响应进行高通滤波,得到第二模拟冲激响应;最后再以第二采样率sr对第二模拟冲激响应进行下采样处理,由此得到最终的模拟冲激响应。
[0176]
在得到模拟冲激响应之后,计算机设备可以将其与给定的一段音频数据进行卷积处理,得到带混响的音频数据。通过调整场景布置参数,能够快速生成大量混响程度不同的音频数据。
[0177]
需要说明的是,本技术实施例中对所涉及的输入相关参数的数值不作硬性限制,具体数值可以根据实际情况而定。在一个具体的示例中,所设置的参数可以为:预设采样率srh=sr*64,第一采样率sr
l
=sr*8,第二采样率sr=16000。对于每个声源c,其与接收器之间的直线距离取值范围为[0.2m,12m]。房间混响参数t
60
的取值范围为[0.1,1.5]。房间陈设参数r在选定t
60
后,取值范围为[0.1,t
60
]。音速v=340。反射次数rt=sr*2。
[0178]
在一个实施例中,通过本技术实施例提供的模拟冲激响应的生成方法所生成的带混响的数据,利用其作为样本对模型进行训练。通过与利用真实收集的冲激响应所合成的带混响音频,进行测试后能够得到如下性能数据(如表1所示):
[0179][0180][0181]
表1
[0182]
其中,rir_generator和pyroomacoustics均为目前业界最常用的冲激响应生成方法。以上述三种方法生成模拟的冲激响应数据,并将其作为训练数据用于模型的训练过程中。在性能测试的过程中,使用同样的训练模式与模型,仅在训练数据生成时使用不同的模拟冲激响应的模拟方法,来生成带混响的音频数据。
[0183]
其中,听感评价质量(perceptual evaluation of speech quality,pesq)作为性能评价指标,用于表征所生成的带混响的音频数据与真实音频的接近程度。pesq越高,意味着所生成的音频更接近真实音频,听感效果更好。
[0184]
可以看到,本技术实施例提供的模拟冲激响应的生成方法,在大幅提升了训练速度的同时,能够使模型获得更好的模型性能,说明了本方法的高效率与有效性。
[0185]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,
如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0186]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的模拟冲激响应的生成方法的模拟冲激响应的生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模拟冲激响应的生成装置实施例中的具体限定可以参见上文中对于模拟冲激响应的生成方法的限定,在此不再赘述。
[0187]
在一个实施例中,如图9所示,提供了一种模拟冲激响应的生成装置,包括:获取模块901、采样模块902、确定模块903以及生成模块904。其中:
[0188]
获取模块901,用于获取与当前模拟场景对应的场景布置参数,场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数。
[0189]
采样模块902,用于基于直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与直线距离间的差异满足预设分布条件。
[0190]
确定模块903,用于根据模拟行进距离确定模拟反射次数,其中,模拟反射次数与模拟行进距离呈正相关。
[0191]
确定模块903,还用于基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及模拟反射次数,分别确定与各个声源对应的模拟反射损失。
[0192]
生成模块904,还用于根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。
[0193]
在一个实施例中,采样模块还用于获取多个预设变量值,其中,多个预设变量值的出现概率满足概率密度分布函数,概率密度分布函数表征预设变量值越大,相应预设变量值出现的概率越大;基于多个预设变量值确定对应的多个距离变换系数;根据各距离变换系数与直线距离,确定在预设采样率下的各采样样本分别对应的模拟行进距离。
[0194]
在一个实施例中,确定模块还用于根据模拟行进距离确定模拟反射次数,包括:在各个采样样本各自对应的模拟行进距离中,确定最大模拟行进距离;依照声波的行进距离与反射次数的正相关关系,基于最大模拟行进距离确定最大模拟反射次数;确定模拟行进距离与最大模拟行进距离之间的距离比例关系;基于距离比例关系和最大模拟反射次数,确定每个模拟行进距离对应的模拟反射次数;其中,模拟反射次数与最大模拟反射次数的反射比例关系与距离比例关系一致。
[0195]
在一个实施例中,上述装置还包括扰动模块,该扰动模块与确定模块相连,该扰动模块用于基于随机反射波动对所确定的模拟反射次数进行更新,以得到添加随机反射波动的模拟反射次数;其中,随机反射波动基于在预设的均匀分布中随机采样得到。
[0196]
相应地,确定模块还用于基于环境空间参数确定反射系数,并根据反射系数、模拟行进距离、以及添加随机反射波动的模拟反射次数,分别确定与各个声源对应的模拟反射损失。
[0197]
在一个实施例中,环境空间参数包括环境混响参数和环境陈设参数。确定模块还用于基于环境混响参数和环境陈设参数,确定反射系数;对于每个声源,根据反射系数,并基于相应声源对应的各采样样本的模拟反射次数,确定与各采样样本分别对应的目标反射
系数;对于每个声源,基于与相应声源对应的各采样样本的模拟反射距离和目标反射系数,确定与相应声源对应的各采样样本分别对应的模拟反射损失;其中,模拟反射损失表征声波经模拟反射次数的反射后的能量损失。
[0198]
在一个实施例中,生成模块还用于初始化滤波器参数;基于各个声源的模拟反射损失,对初始的滤波器参数进行更新,得到当前模拟场景下初始的模拟冲激响应;对初始的模拟冲激响应进行过滤处理,得到最终的模拟冲激响应。
[0199]
在一个实施例中,生成模块还用于以第一采样率对初始的模拟冲激响应进行下采样处理,得到第一模拟冲激响应;以预设截断频率对第一模拟冲激响应进行滤波,得到第二模拟冲激响应;以第二采样率对第二模拟冲激响应进行下采样处理,得到最终的模拟冲激响应;其中,预设采样率大于第一采样率,第一采样率大于第二采样率。
[0200]
在一个实施例中,上述装置还包括卷积模块,用于获取待处理的音频数据;基于模拟冲激响应对音频数据进行卷积处理,生成带混响的音频数据。
[0201]
在一个实施例中,上述装置还包括训练模块,用于在带混响的音频数据中添加噪声得到待训练数据;确定与待训练数据对应的参考音频数据,参考音频数据包括带混响去噪音频数据、及去混响去噪音频数据中的至少一种;基于待训练数据和相对应的参考音频数据,对待训练的音频处理模型进行训练,得到训练完成的音频处理模型。
[0202]
在一个实施例中,上述装置还包括音乐处理模块,用于获取待处理音乐,待处理音乐包括语音音频和伴奏音频;将待处理音乐输入至训练完成的音频处理模型中,通过训练完成的音频处理模型对待处理音乐中的语音音频和伴奏音频进行分离。
[0203]
上述模拟冲激响应的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0204]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,也可以是服务器。以该计算机设备为终端为例,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种模拟冲激响应的生成方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0205]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0206]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0207]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0208]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0209]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0210]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0211]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
技术特征:1.一种模拟冲激响应的生成方法,其特征在于,所述方法包括:获取与当前模拟场景对应的场景布置参数,所述场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数;基于所述直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与所述直线距离间的差异满足预设分布条件;根据所述模拟行进距离确定模拟反射次数,其中,所述模拟反射次数与所述模拟行进距离呈正相关;基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失;根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应。2.根据权利要求1所述的方法,其特征在于,所述基于所述直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,包括:获取多个预设变量值,其中,所述多个预设变量值的出现概率满足概率密度分布函数,所述概率密度分布函数表征预设变量值越大,相应预设变量值出现的概率越大;基于所述多个预设变量值确定对应的多个距离变换系数;根据各距离变换系数与所述直线距离,确定在预设采样率下的各采样样本分别对应的模拟行进距离。3.根据权利要求1所述的方法,其特征在于,所述根据所述模拟行进距离确定模拟反射次数,包括:在各个采样样本各自对应的模拟行进距离中,确定最大模拟行进距离;依照声波的行进距离与反射次数的正相关关系,基于所述最大模拟行进距离确定最大模拟反射次数;确定所述模拟行进距离与最大模拟行进距离之间的距离比例关系;基于所述距离比例关系和所述最大模拟反射次数,确定每个模拟行进距离对应的模拟反射次数;其中,所述模拟反射次数与所述最大模拟反射次数的反射比例关系与距离比例关系一致。4.根据权利要求1所述的方法,其特征在于,所述根据所述模拟行进距离确定模拟反射次数之后,所述方法还包括:基于随机反射波动对所确定的模拟反射次数进行更新,以得到添加随机反射波动的模拟反射次数;其中,所述随机反射波动基于在预设的均匀分布中随机采样得到;所述基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失,包括:基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述添加随机反射波动的模拟反射次数,分别确定与各个声源对应的模拟反射损失。5.根据权利要求1所述的方法,其特征在于,所述环境空间参数包括环境混响参数和环境陈设参数;所述基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失,包括:基于所述环境混响参数和环境陈设参数,确定反射系数;对于每个声源,根据所述反射系数,并基于相应声源对应的各采样样本的模拟反射次
数,确定与各采样样本分别对应的目标反射系数;对于每个声源,基于与相应声源对应的各采样样本的模拟反射距离和目标反射系数,确定与相应声源对应的各采样样本分别对应的模拟反射损失;其中,模拟反射损失表征声波经所述模拟反射次数的反射后的能量损失。6.根据权利要求1所述的方法,其特征在于,所述根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的模拟冲激响应,包括:初始化滤波器参数;基于各个声源的模拟反射损失,对初始的滤波器参数进行更新,得到当前模拟场景下初始的模拟冲激响应;对所述初始的模拟冲激响应进行过滤处理,得到最终的模拟冲激响应。7.根据权利要求6所述的方法,其特征在于,所述对所述初始的模拟冲激响应进行过滤处理,得到最终的模拟冲激响应,包括:以第一采样率对所述初始的模拟冲激响应进行下采样处理,得到第一模拟冲激响应;以预设截断频率对所述第一模拟冲激响应进行滤波,得到第二模拟冲激响应;以第二采样率对所述第二模拟冲激响应进行下采样处理,得到最终的模拟冲激响应;其中,所述预设采样率大于所述第一采样率,所述第一采样率大于所述第二采样率。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:获取待处理的音频数据;基于所述模拟冲激响应对所述音频数据进行卷积处理,生成带混响的音频数据。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在所述带混响的音频数据中添加噪声得到待训练数据;确定与所述待训练数据对应的参考音频数据,所述参考音频数据包括带混响去噪音频数据、及去混响去噪音频数据中的至少一种;基于所述待训练数据和相对应的参考音频数据,对待训练的音频处理模型进行训练,得到训练完成的音频处理模型。10.根据权利要求9所述的方法,其特征在于,所述方法还包括:获取待处理音乐,所述待处理音乐包括语音音频和伴奏音频;将所述待处理音乐输入至所述训练完成的音频处理模型中,通过所述训练完成的音频处理模型对所述待处理音乐中的语音音频和伴奏音频进行分离。11.一种模拟冲激响应的生成装置,其特征在于,所述装置包括:获取模块,用于获取与当前模拟场景对应的场景布置参数,所述场景布置参数包括接收器与至少一个声源间的直线距离、以及环境空间参数;采样模块,用于基于所述直线距离确定在预设采样率下每个采样样本对应的模拟行进距离,其中,采样得到的各模拟行进距离与所述直线距离间的差异满足预设分布条件;确定模块,用于根据所述模拟行进距离确定模拟反射次数,其中,所述模拟反射次数与所述模拟行进距离呈正相关;所述确定模块,还用于基于所述环境空间参数确定反射系数,并根据所述反射系数、所述模拟行进距离、以及所述模拟反射次数,分别确定与各个声源对应的模拟反射损失;生成模块,还用于根据与各个声源分别对应的模拟反射损失,生成当前模拟场景下的
模拟冲激响应。12.根据权利要求11所述的装置,其特征在于,所述装置还包括卷积模块,所述卷积模块用于获取待处理的音频数据;基于所述模拟冲激响应对所述音频数据进行卷积处理,生成带混响的音频数据。13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
技术总结本申请涉及一种模拟冲激响应的生成方法、装置、计算机设备、存储介质和计算机程序产品,能够应用在音乐、视频、或者语音等各种领域,例如可以应用于对音频进行去混响处理、或者为音频添加混响效果等。所述方法包括:获取与当前模拟场景对应的场景布置参数,基于场景布置参数中的直线距离确定模拟行进距离,进而确定模拟反射次数,根据基于场景布置参数中的环境空间参数所确定的反射系数,以及所模拟的模拟反射次数与模拟行进距离,分别确定与各个声源对应的模拟反射损失,进而生成当前模拟场景下的模拟冲激响应。采用本方法能够快速生成大量的模拟冲激响应,并且所生成的模拟冲激响应符合真实物理世界中声波的反射情况。真实物理世界中声波的反射情况。真实物理世界中声波的反射情况。
技术研发人员:罗艺 余剑威
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1