一种声效处理系统和方法

    专利查询2023-07-10  104



    1.本发明涉及一种声效处理系统和方法。


    背景技术:

    2.如图1所示,虚拟声学环境的声效实时处理,需要通过追踪声源发出的声线建立不同的声效模型。声线追踪的过程中有两项关键的性能指标,一是声线追踪的最大阶数,阶数越高,模型越趋于精密,但阶数越高需要追踪的声线数量也越多,导致较长的计算时间;二是相对于声源位置信息更新后声线更新的延迟,声线更新延迟越小,总体声效处理的实时性越好,但声线更新的延迟受限于声线追踪的计算时间,声线追踪的计算时间越长,则声线更新的延迟越大。
    3.准确的进行声效建模需要追踪大量声线,因此带来了较大的计算量,但由于声线之间相互独立,可以划分出多个线程,使用并行计算加快程序的计算速度,从而使声效模型的实时计算成为可能。目前追踪大量声线主要有以下两种技术路线。
    4.技术路线一,例如evertims等基于cpu并行的声效模型实时生成软件(david poirier-quinot,brian katz,markus noisternig.evertims:open source framework for realtimeauralization in architectural acoustics and virtual reality.20th international conference on digital audio effects(dafx-17),sep 2017,edinburgh,united kingdom.),该技术的优势在于单个cpu内核的计算速度快,然而当并行计算的声线数大于内核数时,每个内核就需要串行计算多个声线从而需要更长的计算时间,因此该技术的并行计算速度受内核数限制。由于受当前cpu制造技术的限制,内核越多的cpu成本也就越高,因此基于cpu的并行计算技术难以实现较多数量声线的同时追踪。
    5.技术路线二,例如基于gpu并行的房间声效模型实时生成技术(l.savioja,d.manocha,and m.lin,“use of gpus in room acoustic modeling and auralization,”in proc.int.symp.room acoust.,melbourne,australia,aug.2010.),由于gpu的结构适合于并行计算,基于gpu并行的声效模型实时生成技术一般可以允许较多数量声线的同时追踪,因而计算速度一般高于基于cpu的声效模型实时生成技术。然而gpu与cpu程序交互延迟较大。这会增加声效生成计算时的延迟,对声效处理的实时性造成不利影响。
    6.技术路线一虽然可以较快的计算出单条或少量声线的轨迹,但受当前技术水平与成本的限制,难以实现较多数量声线的同时追踪,即技术路线一的计算延迟较小,但声线追踪数量也较小。技术路线二可以实现大量声线的同时追踪,然而由于gpu程序交互延迟的限制,会存在较大的读写延迟,即技术路线二的声线追踪数量较大,但计算延迟也较大。
    7.简言之,现有技术无法同时以较大的声线追踪数量和较小的计算延迟实现虚拟声学环境中的声效模型实时生成。


    技术实现要素:

    8.为了解决上述技术缺陷,本发明提出一种声效处理系统和方法。本发明分别计算
    声线到不同的阶数,并配合以相应的基于声线长度的声线分解与混合方法,将声线计算结果分解为两部分,分别输出到不同的声效处理器进行声效实时处理,从而对现有技术缺陷起到优化效果,同时实现较大声线追踪数量和较小的计算延迟。
    9.解决上述技术问题的技术方案为:一种声效处理系统,包括声线实时计算模块、声效处理器a、声效处理器b以及信号混合器;其中,声线实时计算模块由声线追踪模型生成器、低阶声线计算器、高阶声线计算器、声线合成输出器构成;
    10.初始化阶段:
    11.声线追踪模型生成器根据输入的声场环境模型,分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;
    12.实时运行阶段;
    13.声源位置追踪信息更新后,将声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算,获得各声线数据;
    14.低阶声线计算器和高阶声线计算器输出相应的声线数据给声线分解输出器;声线分解输出器根据低阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集a,并将声线数据子集a输出给声效处理器a;声线分解输出器根据高阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集b,并将声线数据子集b输出给声效处理器b;其中,声线数据子集a中的声线长度小于声线数据子集b中的声线长度;
    15.声效处理器a对声线数据子集a进行声效实时处理,计算出声线数据子集a对应的扬声器音频驱动信号;声效处理器b对声线数据子集b进行声效实时处理,计算出声线数据子集b对应的扬声器音频驱动信号;
    16.信号混合器对声效处理器a和声效处理器b输出的扬声器音频驱动信号混合后获得完整的扬声器音频驱动信号。
    17.进一步,确定低阶声线计算器计算阶数的方法为,从0开始增大低阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    low
    ,其满足每次完成0~n
    low
    阶声线计算的时间t
    low
    不超过预期的声线计算延迟;确定高阶声线计算器计算阶数的方法为,以声源位置追踪信息的更新时间间隔ts为基准,从0开始增大高阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    high
    ,其满足每次完成0~n
    high
    阶声线计算的时间t
    high
    不超过基准时间ts的一定比例。
    18.进一步,声线分解输出器按声线长度进行矩形窗截断,分别处理低阶声线计算器和高阶声线计算器输出的声线数据,获得声线数据子集a和声线数据子集b,声线数据子集a中声线长度小于等于t*c,声线数据子集b中声线长度大于t*c,t为预期的截断时间,c为声速。
    19.进一步,声效处理器a的音频帧长度设置在8~128采样点,声效处理器b的音频帧长度设置在256~4096采样点。
    20.进一步,信号混合器对声效处理器b输出的音频驱动信号进行延时dt后与声效处理器a输出的音频驱动信号相加,dt的确定方法为dt=t+t
    low
    +t
    a-t
    high-tb。其中,t为预期的截断时间,ta为声效处理器a的音频处理延迟,tb为声效处理器b的音频处理延迟。
    21.本发明还提出一种声效处理方法,
    22.初始化阶段:
    23.根据输入的声场环境模型,分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;
    24.实时运行阶段;
    25.声源位置追踪信息更新后,将声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算,获得各声线数据;
    26.低阶声线计算器和高阶声线计算器输出相应的声线数据给声线分解输出器;声线分解输出器根据低阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集a,并将声线数据子集a输出给声效处理器a;声线分解输出器根据高阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集b,并将声线数据子集b输出给声效处理器b;其中,声线数据子集a中的声线长度小于声线数据子集b中的声线长度;
    27.声效处理器a对声线数据子集a进行声效实时处理,计算出声线数据子集a对应的扬声器音频驱动信号;声效处理器b对声线数据子集b进行声效实时处理,计算出声线数据子集b对应的扬声器音频驱动信号;
    28.信号混合器对声效处理器a和声效处理器b输出的扬声器音频驱动信号混合后获得完整的扬声器音频驱动信号。
    29.本发明与现有技术相比,其显著优点在于:
    30.(1)本发明总系统延迟与技术路线一相当,均为t
    low
    +ta,但是本发明中声线最大计算阶数为n
    high
    ,大于技术路线一的声线最大计算阶数,因此相较于技术路线一,本发明具有较大的声线追踪数量的优势;
    31.(2)本发明处理的声线追踪数量与技术路线二相当,均为0~n
    hig
    阶声线的数量,但是本发明总系统延迟为t
    low
    +ta,小于技术路线二的总系统延迟。
    附图说明
    32.图1是现有技术中虚拟声学环境的声效实时处理系统示意图;
    33.图2是本发明声效处理系统示意图。
    具体实施方式
    34.容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。
    35.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
    36.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
    37.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
    38.在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不
    是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
    39.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
    40.如图2所示,本发明声效处理系统包括声线实时计算模块、声效处理器a、声效处理器b以及信号混合器。其中,声线实时计算模块由声线追踪模型生成器、低阶声线计算器、高阶声线计算器、声线合成输出器构成,其中高阶声线计算器会调用gpu计算单元。
    41.声效处理系统在初始化阶段接收声场环境模型,在实时处理阶段接收声源位置追踪信息,区别于背景技术中输出整组声线,本发明技术方案不同步的分别输出声线长度较小的声线与声线长度较大的声线给不同的声效处理器。
    42.本发明声效处理系统运行、处理流程如下:
    43.1、初始化阶段,声线追踪模型生成器根据输入的声场环境模型,分别对低阶声线计算器和高阶声线计算器配置两个声线计算器对应的计算阶数。两个声线计算器对应的计算阶数可根据声线实时计算系统的计算性能和声场环境模型复杂度确定。
    44.确定低阶声线计算器计算阶数的一种实施方法为,从0开始增大低阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    low
    ,其满足每次完成0~n
    low
    阶声线计算的时间t
    low
    不超过预期的声线计算延迟(即从开始声线计算到完成声线计算所花费的时间)。
    45.确定高阶声线计算器计算阶数的一种实施方法为,以声源位置追踪信息(即使用一定方法确定的声源位置的空间坐标,例如使用传声器阵列估计声源位置)的更新时间间隔ts为基准,从0开始增大高阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    high
    ,其满足每次完成0~n
    high
    阶声线计算的时间t
    high
    不超过基准时间ts的一定比例,例如50%~80%,设置该比例是为了留出一定的计算余量)。
    46.前述对低阶声线计算器和高阶声线计算器计算阶数的设置一般会使低阶声线计算器在时间上先于高阶声线计算器完成计算,即t
    low
    《th
    igh

    47.2、实时运行阶段,声源位置追踪信息更新后,以声源位置追踪信息作为输入参数,分别调用低阶声线计算器和高阶声线计算器进行计算,得到各声线数据,即每条声线的路径以及对应的传输参数,例如每条声线的起始点、反射点、终止点的空间坐标和声能的衰减量。
    48.3、低阶声线计算器和高阶声线计算器完成对声线的计算后,输出相应的声线数据给声线分解输出器,声线分解输出器会对两个声线计算器得到的声线数据分别进行分解处理,并输出分解后的声线数据到不同的声效处理器中。
    49.3.1低阶声线计算器完成声线计算后,声线分解输出器会先根据低阶声线计算器的声线数据对声线进行分解处理,得到声线长度小的声线数据子集a。分解处理的一种实施方法为对声线按声线长度进行矩形窗截断,例如保留声线长度小于等于t*c的声线并去除声线长度大于t*c的声线(等价于保留0~t到达听音者的部分),其中t为预期的截断时间参数(一般等于从某一时刻的声音由声源发出到该时刻声音对应的晚期混响声出现所需要的时间,例如200ms),c为声速。类似的可以采用其他窗函数或更为复杂的处理进行分解。分解后得到的声线长度较小的声线数据子集a输出给声效处理器a。
    50.3.2高阶声线计算器完成声线计算后,声线分解输出器同样对高阶声线计算器的声线数据对声线进行分解处理,得到声线长度大的声线数据子集b。分解处理的一种实施方
    式为对声线按声线长度进行矩形窗截断,例如保留声线长度大于t*c的声线并去除声线长度小于等于t*c的声线。类似的可以采用其他窗函数或更为复杂的处理进行分解。分解后得到的声线长度较大的声线数据子集b输出给声效处理器b。
    51.4、声效处理器a接收声线分解输出器输出的声线数据子集a进行声效实时处理,计算出这部分声线对应的馈给扬声器的音频驱动信号。根据人的听觉感知特性,声效处理器a对应声效中直达声与早期反射声的处理,需要以较低的音频处理延迟ta(即从原始音频信号输入声效处理器到声效处理器开始输出扬声器驱动信号所花费的时间)为目标配置,由于在音频信号处理中音频帧长度越小则系统延迟越低,因此配置声效处理器a的参数时需要设置较小的音频帧长度,例如在8~128采样点范围内,优选地设置在8~32采样点。
    52.5、声效处理器b接收声线分解输出器输出的声线数据子集b进行声效实时处理,计算出这部分声线对应的馈给扬声器的音频驱动信号。声效处理器b主要对应晚期混响声的处理,由于从某一时刻的声音由声源发出到该时刻声音对应的晚期混响声的出现有天然的时间间隔(即预期的截断时间t),所以允许声效处理器b有稍高的音频处理延迟tb,只需要满足tb≤(t+t
    low
    +t
    a-t
    high
    )即可。由于声线数据子集b的声线一般数量较多,对声效中晚期混响声的处理需要较大的计算量,因此配置声效处理器b的参数时需要设置较大的音频帧长度,例如在256~4096采样点范围内,优选地设置在1024~2048个采样点。声效处理器b的音频帧长度大于声效处理器a的音频帧长度,故ta《tb。
    53.6、声效处理器a与声效处理器b输出的音频信号经过信号混合器混合,混合器混合输出的信号即是完整的扬声器驱动信号。混合的具体操作为,对声效处理器b输出的音频信号进行延时dt后与声效处理器a输出的音频信号相加。dt的确定方法为dt=t+t
    low
    +t
    a-t
    high-tb。
    54.根据上述处理流程,可以看出本发明追踪了0~n
    high
    阶的所有声线,总系统延迟,即从开始计算声线到声效处理器开始输出扬声器驱动信号的计算所花费的时间为t
    low
    +ta。
    55.本发明还提出一种声效处理方法,初始化阶段,根据输入的声场环境模型,分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;
    56.实时运行阶段,声源位置追踪信息更新后,将声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算,获得各声线数据。其中,
    57.低阶声线计算器和高阶声线计算器输出相应的声线数据给声线分解输出器;声线分解输出器根据低阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集a,并将声线数据子集a输出给声效处理器a;声线分解输出器根据高阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集b,并将声线数据子集b输出给声效处理器b;其中,声线数据子集a中的声线长度小于声线数据子集b中的声线长度;
    58.声效处理器a对声线数据子集a进行声效实时处理,计算出该声线数据子集a对应的扬声器音频驱动信号;声效处理器b对声线数据子集b进行声效实时处理,计算出该声线数据子集b对应的扬声器音频驱动信号;信号混合器对声效处理器a和声效处理器b输出的扬声器音频驱动信号混合后获得完整的扬声器音频驱动信号。
    59.确定低阶声线计算器计算阶数的方法为,从0开始增大低阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    low
    ,其满足每次完成0~n
    low
    阶声线计算的时间t
    low
    不超过预期的声线计算延迟;确定高阶声线计算器计算阶数的方法为,以声源位置追踪信息的
    更新时间间隔ts为基准,从0开始增大高阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    high
    ,其满足每次完成0~n
    high
    阶声线计算的时间t
    high
    不超过基准时间ts的一定比例。
    60.声线分解输出器按声线长度进行矩形窗截断,分别处理低阶声线计算器和高阶声线计算器输出的声线数据,获得声线数据子集a和声线数据子集b,声线数据子集a中声线长度小于等于t*c,声线数据子集b中声线长度大于t*c,t为预期的截断时间,c为声速。声效处理器a的音频帧长度设置在8~32采样点,声效处理器b的音频帧长度设置在1024~2048采样点。信号混合器对声效处理器b输出的音频驱动信号进行延时dt后与声效处理器a输出的音频驱动信号相加,dt的确定方法为dt=t+t
    low
    +t
    a-t
    high-tb。其中,t为预期的截断时间,ta为声效处理器a的音频处理延迟,tb为声效处理器b的音频处理延迟。
    61.本发明与现有技术不相同的地方主要在于,本发明利用基于声线长度的声线分解与混合方法,复合使用了两种技术分别计算声线到不同的阶数,将声线计算结果分解为两部分分别输出到不同的声效处理器进行声效实时处理。本发明总系统延迟与技术路线一相当,均为t
    low
    +ta,但是本发明中声线最大计算阶数为n
    high
    ,大于技术路线一的声线最大计算阶数,技术路线一的声线最大计算阶数约等于n
    low
    ,因此相较于技术路线一,本发明具有较大的声线追踪数量的优势;本发明处理的声线追踪数量与技术路线二相当,均为0~n
    high
    阶声线的数量,但是本发明总系统延迟为t
    low
    +ta,小于技术路线二的总系统延迟,技术路线二的声效处理器类似本发明中的声效处理器b,总系统延迟约等于t
    hig
    +tb。

    技术特征:
    1.一种声效处理系统,其特征在于,包括声线实时计算模块、声效处理器a、声效处理器b以及信号混合器;其中,声线实时计算模块由声线追踪模型生成器、低阶声线计算器、高阶声线计算器、声线合成输出器构成;初始化阶段:声线追踪模型生成器根据输入的声场环境模型,分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;实时运行阶段;声源位置追踪信息更新后,将声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算,获得各声线数据;低阶声线计算器和高阶声线计算器输出相应的声线数据给声线分解输出器;声线分解输出器根据低阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集a,并将声线数据子集a输出给声效处理器a;声线分解输出器根据高阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集b,并将声线数据子集b输出给声效处理器b;其中,声线数据子集a中的声线长度小于声线数据子集b中的声线长度;声效处理器a对声线数据子集a进行声效实时处理,计算出声线数据子集a对应的扬声器音频驱动信号;声效处理器b对声线数据子集b进行声效实时处理,计算出声线数据子集b对应的扬声器音频驱动信号;信号混合器对声效处理器a和声效处理器b输出的扬声器音频驱动信号混合后获得完整的扬声器音频驱动信号。2.如权利要求1所述的声效处理系统,其特征在于,确定低阶声线计算器计算阶数的方法为,从0开始增大低阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    low
    ,其满足每次完成0~n
    low
    阶声线计算的时间t
    low
    不超过预期的声线计算延迟;确定高阶声线计算器计算阶数的方法为,以声源位置追踪信息的更新时间间隔ts为基准,从0开始增大高阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    high
    ,其满足每次完成0~n
    high
    阶声线计算的时间t
    high
    不超过基准时间ts的一定比例。3.如权利要求1所述的声效处理系统,其特征在于,声线分解输出器按声线长度进行矩形窗截断,分别处理低阶声线计算器和高阶声线计算器输出的声线数据,获得声线数据子集a和声线数据子集b,声线数据子集a中声线长度小于等于t*c,声线数据子集b中声线长度大于t*c,t为预期的截断时间,c为声速。4.如权利要求1所述的声效处理系统,其特征在于,声效处理器a的音频帧长度设置在8~128采样点,声效处理器b的音频帧长度设置在256~4096采样点。5.如权利要求2所述的声效处理系统,其特征在于,信号混合器对声效处理器b输出的音频驱动信号进行延时dt后与声效处理器a输出的音频驱动信号相加,dt的确定方法为dt=t+t
    low
    +t
    a-t
    high-t
    b
    。其中,t为预期的截断时间,t
    a
    为声效处理器a的音频处理延迟,t
    b
    为声效处理器b的音频处理延迟。6.一种声效处理方法,其特征在于,初始化阶段:根据输入的声场环境模型,分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;
    实时运行阶段;声源位置追踪信息更新后,将声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算,获得各声线数据;低阶声线计算器和高阶声线计算器输出相应的声线数据给声线分解输出器;声线分解输出器根据低阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集a,并将声线数据子集a输出给声效处理器a;声线分解输出器根据高阶声线计算器提供的声线数据对声线进行分解处理,获得声线数据子集b,并将声线数据子集b输出给声效处理器b;其中,声线数据子集a中的声线长度小于声线数据子集b中的声线长度;声效处理器a对声线数据子集a进行声效实时处理,计算出声线数据子集a对应的扬声器音频驱动信号;声效处理器b对声线数据子集b进行声效实时处理,计算出声线数据子集b对应的扬声器音频驱动信号;信号混合器对声效处理器a和声效处理器b输出的扬声器音频驱动信号混合后获得完整的扬声器音频驱动信号。7.如权利要求6所述的声效处理方法,其特征在于,确定低阶声线计算器计算阶数的方法为,从0开始增大低阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    low
    ,其满足每次完成0~n
    low
    阶声线计算的时间t
    low
    不超过预期的声线计算延迟;确定高阶声线计算器计算阶数的方法为,以声源位置追踪信息的更新时间间隔ts为基准,从0开始增大高阶声线计算器的计算阶数,直到确定一个最大的计算阶数n
    high
    ,其满足每次完成0~n
    high
    阶声线计算的时间t
    high
    不超过基准时间ts的一定比例。8.如权利要求6所述的声效处理方法,其特征在于,声线分解输出器按声线长度进行矩形窗截断,分别处理低阶声线计算器和高阶声线计算器输出的声线数据,获得声线数据子集a和声线数据子集b,声线数据子集a中声线长度小于等于t*c,声线数据子集b中声线长度大于t*c,t为预期的截断时间,c为声速。9.如权利要求6所述的声效处理方法,其特征在于,声效处理器a的音频帧长度设置在8~128采样点,声效处理器b的音频帧长度设置在256~4096采样点。10.如权利要求7所述的声效处理系统,其特征在于,信号混合器对声效处理器b输出的音频驱动信号进行延时dt后与声效处理器a输出的音频驱动信号相加,dt的确定方法为dt=t+t
    low
    +t
    a-t
    high-t
    b
    。其中,t为预期的截断时间,t
    a
    为声效处理器a的音频处理延迟,t
    b
    为声效处理器b的音频处理延迟。

    技术总结
    本发明涉及一种声效处理系统和方法。分别为低阶声线计算器和高阶声线计算器配置对应的计算阶数;根据声源位置追踪信息分别输入低阶声线计算器和高阶声线计算器进行计算获得各声线数据;声线分解输出器根据低阶声线计算器和高阶声线计算器提供的声线数据对声线进行分解处理,获得声线长度不同的声线数据子集A和声线数据子集B;分别计算各声线对应的扬声器音频驱动信号,经混合后获得完整的扬声器音频驱动信号。本发明同时实现较大声线追踪数量和较小的计算延迟。和较小的计算延迟。和较小的计算延迟。


    技术研发人员:沈勇 高昊 刘紫赟
    受保护的技术使用者:南京大学
    技术研发日:2020.11.23
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-17465.html

    最新回复(0)