本公开涉及语音识别领域,特别涉及一种音频段的匹配方法、装置、设备及可读存储介质。
背景技术:
现今的音频处理软件常会具备修音功能,即根据参考音频段,对用户录制的音频段进行自动的音频匹配与修音。
相关技术中,在进行音频匹配与修音的过程中,常采用动态时间规整(dynamictimewarping,dtw)算法对音频段中的特征进行识别和匹配,通过建立完整音频段之间的特征网格,并借助特征网格计算特征距离的方法,实现两个音频段中语音帧的匹配,并根据匹配的结果对用户录制的音频段进行修音。
然而,相关技术中的dtw算法通过建立完整音频段之间的特征网格的形式来实现对音频段之间的匹配,建立特征网格的过程会占用较大的内存。
技术实现要素:
本公开关于一种音频段的匹配方法、装置、设备及可读存储介质,可以解决通过相关技术中的dtw算法需要通过建立完整音频段之间的特征网格的形式来实现对音频段之间的匹配,建立特征网格的过程会占用较大的内存的问题。
该技术方案如下:
一方面,提供了一种音频段的匹配方法,该方法包括:
获取目标音频段以及与目标音频段对应的参考音频段,参考音频段中包括参考音频帧;
获取与参考音频帧对应的偏移参数,偏移参数用于指示目标音频段相对于参考音频段的偏移范围;
根据偏移参数从目标音频段中确定与参考音频帧对应的候选音频帧;
确定参考音频帧与候选音频帧之间的特征距离;
根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧。
在一个可选的实施例中,参考音频帧为参考音频段中位于目标时间点的音频帧,偏移参数为目标音频段的偏移帧数范围;
根据偏移参数从目标音频段中确定与参考音频帧对应的候选音频帧,包括:
从目标音频段中确定位于目标时间点的基准音频帧;
以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧,包括:
以基准音频帧为中心帧,获取位于基准音频帧之前和之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为起始帧,获取位于基准音频帧之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为终止帧,获取位于基准音频帧之前且在偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧,包括:
根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格;
在特征网格中确定特征路径,特征路径对应有所述路径特征距离;
确定路径特征距离最小的特征路径为最短音频帧路径,最短音频帧路径中包括与每个参考音频帧一一匹配的目标音频帧。
在一个可选的实施例中,确定路径特征距离之和最小的特征路径为最短音频帧路径,包括:
从特征网格的第一位置开始,向特征网格的第二位置进行路径特征距离的计算,第一位置位于特征路径的计算起点,第二位置位于特征路径的计算终点,第二位置和第一位置位于同一条竖直直线上;
从第二位置开始,根据路径特征距离向第一位置进行路径回溯,得到最短音频帧路径。
在一个可选的实施例中,从特征网格的第一位置开始,向特征网格的第二位置进行路径特征距离的计算,包括:
从第一位置开始,向第二位置的直线方向分别进行路径特征距离的计算;
其中,第一位置指向第二位置的直线方向包括第一方向、第二方向和第三方向中的至少一个方向,第一方向、第二方向和第三方向为由第一位置指向第二位置的分量方向。
在一个可选的实施例中,从第一位置开始,向第二位置的直线方向分别进行路径特征距离的计算,包括:
确定第一方向对应的第一累加参数、第二方向对应的第二累加参数以及第三方向对应的第三累加参数;
当特征路径以第一方向累加时,通过第一累加参数对路径特征距离进行累加;
当特征路径以第二方向累加时,通过第二累加参数对路径特征距离进行累加;
当特征路径以第三方向累加时,通过第三累加参数对路径特征距离进行累加。
另一方面,提供了一种音频段的匹配装置,该装置包括:
获取模块,用于获取目标音频段以及与目标音频段对应的参考音频段,参考音频段中包括参考音频帧;
获取模块,还用于获取与参考音频帧对应的偏移参数,偏移参数用于指示目标音频段相对于参考音频段的偏移范围;
确定模块,用于根据偏移参数从目标音频段中确定与参考音频帧对应的候选音频帧;
确定模块,用于确定参考音频帧与候选音频帧之间的特征距离;
确定模块,用于根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧。
在一个可选的实施例中,参考音频帧为参考音频段中位于目标时间点的音频帧,偏移参数为目标音频段的偏移帧数范围;
确定模块,用于从目标音频段中确定位于目标时间点的基准音频帧;
获取模块,用于以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧,包括:
以基准音频帧为中心帧,获取位于基准音频帧之前和之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为起始帧,获取位于基准音频帧之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为终止帧,获取位于基准音频帧之前且在偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,该装置,还包括:建立模块;
建立模块,用于根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格;
确定模块,用于在所述特征网格中确定特征路径,所述特征路径对应有所述路径特征距离;
确定模块,用于确定路径特征距离最小的特征路径为最短音频帧路径,最短音频帧路径中包括与每个参考音频帧一一匹配的目标音频帧。
在一个可选的实施例中,该装置,还包括:计算模块;
计算模块,用于从特征网格的第一位置开始,向特征网格的第二位置进行路径特征距离的计算,第一位置位于特征网格的特征路径起点,第二位置位于特征网格的特征路径终点,第二位置和第一位置位于同一条竖直直线上;
确定模块,用于从第二位置开始,根据路径特征距离向第一位置进行路径回溯,得到最短音频帧路径。
在一个可选的实施例中,计算模块,用于从第一位置开始,向第二位置的直线方向分别进行路径特征距离的计算;
其中,第一位置指向第二位置方向包括第一方向、第二方向和第三方向中的至少一个方向,第一方向、第二方向和第三方向为由第一位置指向第二位置的分量方向。
在一个可选的实施例中,确定模块,用于确定第一方向对应的第一累加参数、第二方向对应的第二累加参数以及第三方向对应的第三累加参数;
计算模块,用于当特征路径以第一方向累加时,通过第一累加参数对路径特征距离进行累加;
计算模块,用于当特征路径以第二方向累加时,通过第二累加参数对路径特征距离进行累加;
计算模块,用于当特征路径以第三方向累加时,通过第三累加参数对路径特征距离进行累加。
另一方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本申请实施例中提供的音频段的匹配方法。
另一方面,提供了一种计算机可读存储介质,可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述本申请实施例中提供的音频段的匹配方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中任一所述的音频段的匹配方法。
本公开提供的技术方案带来的有益效果至少包括:
通过在参考音频段中选取参考音频帧,并通过参考音频帧和偏移参数确定目标音频段中的候选音频帧,并根据参考音频帧与候选音频帧之间的特征距离最终确定出与参考音频帧对应的目标音频帧的方法,对参考音频段和目标音频段进行了分段处理与匹配,大幅度降低了运算量级,且建立了较小的特征网格,使匹配过程中占用的内存减小。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了相关技术中具有音频录制功能的应用程序进行修音的示意图;
图2示出了相关技术中dtw算法的示意图;
图3示出了本公开一个示意性实施例提供的音频段的匹配方法的流程图;
图4示出了本公开实施例提供的一种音频段的匹配方法的流程图;
图5示出了本公开一个示意性实施例提供的对建立特征网格的原网格进行处理的方法的示意图;
图6示出了本公开一个示意性实施例提供的通过原网格进行形变生成特征网格的示意图;
图7示出了本公开一个示意性实施例提供的遍历方向的示意图;
图8示出了本公开一个示意性实施例提供的音频段的匹配方法的流程图;
图9示出了本公开一个示意性实施例提供的一种音频段的匹配装置的框图;
图10示出了本公开一个示意性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
首先,对本公开实施例中涉及的名词进行简单的介绍:
动态事件规整(dynamictimewarping,dtw)算法,是一种基于动态规划(dynamicprogramming,dp)思想,衡量两个长度不同的时间序列的相似度的方法。其主要应用在模板匹配的过程中,如孤立语音识别(即识别两段语音是否为同一个单词)、手势识别、数据挖掘和信息检索的过程中。在dtw算法的实际使用过程中,需要通过构建网格的方法对两个时间序列进行对应的匹配与识别。以语音段落的识别与修正为例,以一个语音段中的多个时间节点为横向时序序号,即横坐标,以另一个语音段中的多个时间节点为纵向时序序号,即纵坐标,可选地,通过横向时序序号以及纵向时序序号构建网格,并在网格中确定两个时间节点对应的语音帧之间的特征距离,在确定所有特征距离之后,即可获得两个语音段中的每个时间节点之间的对应关系。
在终端上安装的具有音频录制功能的应用软件中,用户可以对用户录制的音频段落进行修音,使用户录制的音频段落中的人声的音调与歌曲原唱的音频段落的人声的音调更加相似。其中,终端可以是pc(personalcomputer,个人计算机)、手机、pda(personaldigitalassistant,个人数字助手)、可穿戴设备、掌上电脑、平板电脑、智能车机、智能电视、智能音箱等电子设备。图1示出了相关技术中具有音频录制功能的应用程序进行修音的示意图。请参考图1,可选地,在提供修音功能的界面中,应用程序仅提供了一键修音101的选项开关,而未提供其他选项,即当用户打开一键修音开关时,终端即对用户录制的音频段落和歌曲原唱的音频段落进行音频的修音处理。即,在修音过程中,用户无需对音频段落进行音频范围的确定,音频段落的匹配以及对音频段落中音频帧的确定均由终端完成。
可选地,终端通过dtw算法对用户录制的音频段落和歌曲原唱的音频段落进行音频匹配。图2示出了相关技术中dtw算法的示意图。可选地,在相关技术示出的dtw算法中,从歌曲原唱的音频段落201对应的时间序列中提取多个时间节点作为横坐标,从用户录制的音频段落202对应的时间序列中提取多个时间节点作为纵坐标,构建特征网格。可选地,特征网格中每个项代表一个特征距离的增量。通过对特征网格中的所有项进行遍历的方式,确定出歌曲原唱的音频段落201中的时间节点与用户录制的音频段落202中的特征路径203,进而确定时间节点之间的对应关系,以此完成歌曲原唱的音频段落201与用户录制的音频段落202的匹配。
然而,在相关技术中通过dtw算法进行特征匹配,需要构建横纵坐标较大,元素较多的特征网格,且在匹配过程中需要通过遍历的方式对每一个时间节点进行对应确认,故特征网格的建立以及运算过程会占用较大的内存。可选地,在通过遍历的方式对每一个时间节点进行对应确认的过程中还易造成“奇点”现象的产生,即一个时间序列上有多个时间节点对应另一个时间序列上的单个时间节点,并且由于整个时间序列较长,更容易产生偏差与错误,因此,在匹配结束之后,后续进行的校验和修正的过程将会进一步占用内存。
图3示出了本公开一个示意性实施例提供的音频段的匹配方法的流程图,以该方法应用于终端中为例,该方法包括:
步骤301,获取目标音频段以及目标音频段对应的参考音频段,参考音频段中包括参考音频帧。
可选地,本实施例所应用的终端中安装有具有音频录制以及处理功能的应用程序。在一个示例中,该具有音频录制以及处理功能的应用程序实现为一款音乐软件,该音乐软件具有录制用户音频的功能。此外,该音乐软件还具有将用户音频与储存在该软件服务器中的音频进行比对以及处理的功能。可选地,目标音频段指示整段用户音频或用户音频中的一部分。其中,用户音频可以是用户通过音乐软件录制的音频,也可以是用户上传至终端的音频。参考音频段指示整段储存在软件服务器中的音频或储存在服务器中的音频中的一部分。可选地,目标音频段与参考音频段的音频段时长相同。
可选地,参考音频段由多个音频帧组成,可选地,从参考音频段中选取一个音频帧作为参考音频帧。可选地,将参考音频段中的某个时刻对应的音频帧作为参考音频帧。在一个示例中,在一段时长为60秒的音频段中的第3秒对应的音频帧作为参考音频帧。
步骤302,获取与参考音频帧对应的偏移参数,偏移参数用于指示目标音频段相对于参考音频段的偏移范围。
可选地,目标音频段和参考音频段存在时间差异,即目标音频段与参考音频段在同一时间节点对应的语音帧的语音内容存在差异,根据时间序列对目标音频段和参考音频段进行一一对应的方式会造成错误的对应结果。在此情况下,需要首先设定偏移参数,使一个参考语音帧可以在偏移参数对应的范围内与目标音频段中的语音帧进行匹配与特征距离计算。
可选地,偏移参数指示目标音频段相对于参考音频段的偏移范围。可选地,偏移参数由用户设定,或,偏移参数由应用软件进行预设,或,应用软件提供数个偏移参数的选项,用户根据偏移参数的选项在其中选定一个偏移参数。可选地,参考音频帧为参考音频段中位于目标时间点的音频帧,偏移参数为目标音频段的偏移帧数范围。可选地,从目标音频段中确定位于目标时间点的基准音频帧,以基准音频帧作为偏移基准帧,从目标音频段中获取偏移帧数范围内的音频帧作为候选音频帧。
可选地,以基准音频帧作为偏移基准帧,从目标音频段中获取偏移帧数范围内的音频帧作为候选音频帧,包括以基准音频帧为中心帧,从目标音频段中获取位于基准音频帧之前和之后且在偏移帧数范围内的音频帧为候选音频帧;或,以基准音频帧为起始帧,从目标音频段中获取位于基准音频帧之后且在偏移帧数范围内的音频帧为候选音频帧;或,以基准音频帧为终止帧,从目标音频段中获取位于基准音频帧之前且在偏移帧数范围内的音频帧为候选音频帧。
可选地,目标时间点即为参考音频帧的时间点。参考音频段和目标音频段的时间均为60秒,以参考音频段的第3秒时刻的音频帧为参考音频帧,则对应的,目标音频段中的第3秒时刻的音频帧即被作为基准音频帧。
步骤303,根据偏移参数从目标音频段中确定与参考音频帧对应的候选音频帧。
根据偏移参数以及基准音频帧的位置,可以确定候选音频帧的范围。可选地,偏移参数为时间参数,或,偏移参数为帧数参数。在一个示例中,偏移参数为时间参数,如:偏移参数为1秒,基准音频帧为目标音频段中第3秒时刻对应的音频帧,则根据偏移参数与基准音频帧的位置,最终确定候选音频帧为目标音频段中第2秒时刻至第4秒时刻之内的所有音频帧的集合。
步骤304,确定参考音频帧与候选音频帧之间的特征距离。
可选地,在语音匹配的过程中,特征距离的计算即是对于语音段之间失真度的计算,也即对目标音频帧和参考音频帧之间的差异的计算。故特征距离是在匹配之后对目标音频帧进行修正的参考,以特征距离为参考,可以实现对于目标音频帧的修正。
可选地,通过频谱数据的欧式距离的计算,可以确定参考音频帧和每个候选音频帧之间的特征距离。可选地,在确定参考音频帧和每个候选音频帧之间的特征距离时,可以同时对相邻的候选音频帧之间的特征距离和参考音频帧与其他参考音频帧之间的特征距离进行确定。
步骤305,根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧。
可选地,确定与参考音频帧匹配的目标音频帧的过程是对于一系列参考音频帧所匹配的目标音频帧共同确定的过程。
可选地,在确定参考音频帧和候选音频帧之间的特征距离、相邻的候选音频帧之间的特征距离以及相邻的参考音频帧之间的特征距离之后,根据多个参考音频帧与候选音频帧之间的特征距离的和确定参考音频帧匹配的目标音频帧。
可选地,当多个参考音频帧与候选音频帧之间的特征距离的和最小时,即可确定目标音频段与参考音频段在以该特征距离所对应的特征路径进行匹配时,得到的匹配效果最好。根据最小的特征加和距离,即可从候选音频帧中确定与参考音频帧匹配的目标音频帧。
可选地,在确定一系列参考音频帧所匹配的目标音频帧之后,即可通过参考音频帧对目标音频帧的特征距离的修正或消除来达到通过参考音频帧对目标音频帧进行修正的效果。可选地,通过整段参考音频帧对于目标音频帧的修正,完成参考音频段对对应的目标音频段的修正。
综上所述,本实施例提供的方法,通过在参考音频段中选取参考音频帧,并通过参考音频帧和偏移参数从目标音频段中确定候选音频帧,根据参考音频帧与候选音频帧之间的特征距离最终确定出与参考音频帧对应的目标音频帧的方法,对参考音频段和目标音频段进行了分段处理与匹配,大幅度降低了运算量级,且建立了较小的特征网格,使匹配过程中占用的内存减小。
在基于图3的可选实施例中,图4示出了本公开实施例提供的一种音频段的匹配方法的流程图,在本实施例中,上述实施例中的步骤305可被替换为步骤401至步骤404,以该方法应用于终端中为例进行说明,该方法包括:
步骤401,根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格。
可选地,每个参考音频帧都具有不同的候选音频帧,因为每个参考音频帧对应的候选音频帧中基准音频帧的位置是互不相同的,故根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格。
可选地,通过多个参考音频帧和与其对应的候选音频帧建立特征网格。图5示出了本公开一个示意性实施例提供的对建立特征网格的原网格进行处理的方法。可选地,在歌曲原唱音频段落501与用户录制的音频段落502一一对应建立的原网格的基础上,通过参考音频帧和候选音频帧之间的对应关系,对建立的原网格进行部分网格的剔除。在一个示例中,歌曲原唱音频段落的501和用户录制的音频段落502的时间相近,故可以将歌曲原唱段落501和用户录制音频段落502中的语音帧的对应关系默认为比例系数为1的一次函数的对应关系。请参考图5,在图5示出的实施例中,偏移参数为3帧,并且确定歌曲原唱的音频段落501与用户录制的音频段落502之间的语音帧为比例系数为1的一次函数关系,则设用户录制的音频段落502中的帧为n,歌曲原唱的音频段落401的帧为m,即可用n=m+3与n=m-3两条直线对原网格进行切割与变形,可选地,两条直线之间的子网格予以保留,不属于两条直线之间的子网格以及两条直线经过的子网格予以剔除。通过保留的子网格生成新的网格。请参考图5,在经过n=m+3以及n=m-3两条直线对原网格进行切割与变形之后,原网格中的24个子网格予以保留,进入之后的特征网格建立过程。
可选地,为直观的对特征网格的建立过程进行阐述,图5选用的原网格中子网格的数量较少,在实际情况中,网格的数量较多,通过偏移参数进行划分与建立特征网格的过程可以减少网格的数量。
可选地,图6示出了本公开一个示意性实施例提供的通过原网格进行形变生成特征网格的示意图。可选地,对图5的网格进行变形,即将原网格中子网格的位置进行平移,得到特征网格。请参考图6,经过平移之后,网格值为a1的子网格和网格值为f3的子网格处在同一条数值直线上。可选地,经过平移后产生的空网格作为边界予以保留。
可选地,在对特征网格的建立结束之前,不对每个网格中的对应的特征距离进行获取与计算,在新网格建立之后对特征距离进行获取,节省网格建立过程中对于内存资源的占用。
步骤402,确定特征网格的第一位置和第二位置。
可选地,在对原网格进行变形之后,确定首个未被剔除的网格值的位置作为特征网格的第一位置,最后一个未被剔除的网格值的位置作为特征网格的第二位置。
可选地,对原网格进行的变形使网格的第一位置和第二位置处于同一条直线上。可选地,该直线为竖直直线。请参考图6,可选地,图6所示的特征网格中,首个未被剔除的网格值,即首个未被剔除的子网格对应的网格值为a1,最后一个未被剔除的子网格对应的网格值为f3,即确定网格值为a1的子网格为第一位置,网格值为f3的子网格为第二位置。可选地,第一位置和第二位置在同一条直线上,如图6所示,a1和f3即处在同一直线上。
步骤403,从特征网格的第一位置开始,向第二位置的方向分别进行路径特征距离的计算,第一位置指向第二位置的方向对应的方向包括第一方向、第二方向和第三方向。
可选地,在特征网格中确定特征路径,特征路径对应有路径特征距离。
可选地,从特征网格的第一位置向第二位置进行遍历,获得所有按照第一方向、第二方向以及第三方向进行路径遍历的遍历结果。图7示出了本公开一个示意性实施例提供的遍历方向的示意图。可选地,以a2到b2的方向为第一方向701,以a1到b2的方向为第二方向702,以b1到b2的方向为第三方向703进行路径特征距离的计算。
可选地,在路径特征距离计算的过程中,确定第一方向对应的第一累加参数、第二方向对应的第二累加参数以及第三方向对应的第三累加参数;当特征路径以第一方向累加时,通过第一累加参数对路径特征距离进行累加;当特征路径以第二方向累加时,通过第二累加参数对路径特征距离进行累加;当特征路径以第三方向累加时,通过第三累加参数对路径特征距离进行累加。
可选地,进行路径的遍历过程中,通过对每个网格值进行累加的方式,对路径特征距离进行计算。可选地,向每个方向进行累加时的累加参数可以不同。
在一个示例中,由a2向b2进行网格值累加时,获得的结果为a2+b2,由a1向b2进行网格值累加时,累加的结果为a1+2b2,由b1向b2进行网格值累加时,累加的结果为b1+1.5b2。即,可以通过比较每一个子网格的所有累加路径来对路径进行筛选。在如上所述示例中,在确定以b2为路径的目标点的三条路径当中,对累加参数以及三条路径中到b2之前的网格值进行获取,即获取a1+2b2、a2+b2以及b1+1.5b2的三个特征计算结果,并获取三个特征计算结果中取值最小的,作为累加到b2的网格值时对应的路径特征距离。
在一个示例中,在进行累加的过程中,根据第一方向、第二方向和第三方向的参数变化,累加符合如下公式1:
其中,d(i,j)表示一个子网格对应的特征值。g(i,j)表示通过不同路径进行累加,到达该子网格后计算获得的累计特征距离。g(i-1,j)、g(i,j-1)与g(i+1,j-1)分别对应了第三特征方向、第二特征方向和第一特征方向的累加方式,a、b、c即代表不同累加方式时所需的不同累加参数。
可选地,每个路径遍历的遍历结果对应一个路径特征距离。在一个示例中,通过(a1,b2,c3,d3,e3,f3)进行累加后,获得的路径特征距离的结果即为a1+b2+c3+d3+e3+f3。可选地,获取每一种路径特征距离的计算结果并且进行比较。
步骤404,从第二位置开始,根据路径特征距离进行路径回溯,得到最短音频帧路径。
可选地,路径回溯即为从原特征路径终点的第二位置处开始,按照获得的特征路径进行反向的对于特征路径的二次确定。可选地,在获取每一种路径特征距离的遍历方式后,确定路径特征距离最小的特征路径为最短音频帧路径,最短音频帧路径中包括与每个参考音频帧匹配的目标音频帧。从第二位置开始进行路径回溯,获得最短音频帧路径。
可选地,进一步将最短音频帧路径中体现的参考音频帧与候选音频帧的匹配关系确定为参考音频帧与候选音频帧之间的匹配方式。需要注意的是,本实施例中的网格构建步骤可以通过在终端或服务器中的构建相应的模型获得,也可以在有终端或服务器内置的程序执行相应的命令直接得到。
综上所述,本实施例提供的方法,通过在参考音频段中选取参考音频帧,并通过参考音频帧和偏移参数确定目标音频段中的候选音频帧,并根据参考音频帧与候选音频帧之间的特征距离最终确定出与参考音频帧对应的目标音频帧,对参考音频段和目标音频段进行了分段处理与匹配,大幅度降低了运算量级,且建立了较小的特征网格,使匹配过程中占用的内存减小。通过以参考音频帧以及候选音频帧的对应关系建立特征网格,使特征网格的占用的空间较小,并且通过设定特征距离的路径的计算方式,获取最短音频帧路径。
图8示出了本公开一个示意性实施例提供的音频段的匹配方法的流程图,以该方法应用于终端中为例,该方法包括:
步骤801,获取目标音频段以及与目标音频段对应的参考音频段,参考音频段中包括参考音频帧。
可选地,参考音频段中包括多个音频帧,可选地,选取其中的一个音频帧作为参考音频帧。可选地,选取多个音频帧作为参考音频帧,当选取多个音频帧作为参考音频帧时,可以设定参考音频帧的选取方式。在一个示例中,将一段参考音频段的第一个音频帧作为参考音频帧,并每隔一秒的时间间隔提取一个音频帧作为参考音频帧。
步骤802,获取与参考音频帧对应的偏移参数。
可选地,参考音频段和目标音频段中同一时间节点代表的语音内容可能不相同,即参考音频帧无法按照确定时间节点的方式与目标音频段中的音频帧进行直接匹配,故对偏移参数进行确定。
可选地,偏移参数由用户设定,或,偏移参数由应用软件进行预设,或,应用软件提供数个偏移参数的选项,用户根据偏移参数的选项在其中选定一个偏移参数。可选地,偏移参数指示目标音频段相对于参考音频段的偏移范围。可选地,参考音频帧为参考音频段中位于目标时间点的音频帧,偏移参数为目标音频段的偏移帧数范围。
步骤803,从目标音频段中确定位于目标时间点的基准音频帧。
可选地,当参考音频帧的时间点无法与目标音频段中的时间点直接对应时,可以将语音段的时长进行缩放,并且在缩放之后对时间点进行对应与确定。在一个示例中,参考音频段的时间为90秒,目标音频段的时间为60秒,即对目标音频段进行时长拉伸后,再将参考音频帧的时间点与目标音频段中的时间点进行对应。
步骤804,以基准音频帧对偏移基准帧,从目标音频段中获取偏移音频帧数范围内的音频帧为候选音频帧。
可选地,根据偏移参数以及基准音频帧的位置,可以确定候选音频帧的范围。可选地,偏移参数为时间参数,或,偏移参数为帧数参数。在一个示例中,偏移参数为时间参数。在一个示例中,偏移参数为20帧,基准音频帧为目标音频段中第200帧,则根据偏移参数与基准音频帧的位置,最终确定候选音频帧为目标音频段中第180帧至第220帧之内的所有音频帧的集合。
步骤805,确定参考音频帧和候选音频帧之间的特征距离。
可选地,在语音匹配的过程中,特征距离的计算即是对于语音段之间失真度的计算,也即对目标音频帧和参考音频帧之间的差异的计算。故特征距离的计算过程是匹配之后对目标音频帧进行修正的参考。
可选地,通过频谱数据的欧式距离的计算,可以确定参考音频帧和每个候选音频帧之间的特征距离,或,通过对频谱数据的马氏距离的计算,确定参考音频帧和每个候选音频帧之间的特征距离,或,通过对频谱数据中表示波形的数据进行余弦距离的计算,确定参考音频帧和每个候选音频帧之间的特征距离。可选地,在确定参考音频帧和每个候选音频帧之间的特征距离时,可以同时对相邻的候选音频帧之间的特征距离和参考音频帧与其他参考音频帧之间的特征距离进行确定。可选地,欧式距离的计算由终端进行,在进行欧式距离的计算之后,可以获得多个特征距离,根据这些特征距离,进行之后的总特征距离,也即路径特征距离的确定步骤。
步骤806,根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格。
可选地,每个参考音频帧都具有不同的候选音频帧,因为每个参考音频帧对应的候选音频帧中基准音频帧的位置是互不相同的,故根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格。
可选地,可以通过多个参考音频帧和与其对应的候选音频帧建立特征网格。
可选地,特征网格可通过对原网格的筛选与对原网格的变形获得。在一个示例中,参考音频段提取出了1000个音频帧,且目标音频段与参考音频段的时间相同,若使用相应的的音频帧的提取方式,则目标音频段中也需要有1000个音频帧,对应构建的即为一个1000×1000的原网格。而在确定了偏移参数为50,且偏移方式为以基准音频帧为中心帧,获取位于基准音频帧之前和之后且在偏移帧数范围内的音频帧为候选音频帧之后,即需提取相应的与基准音频帧的距离为50帧以内的目标音频帧进行参考,即构建的特征网格大小为100×1000,且其中具有网格值的子网格的数量更小,大幅减小了占用内存。
步骤807,从特征网格的第一位置开始,向第二位置的方向分别进行路径特征距离的计算。
可选地,在对原网格进行变形之后,确定首个未被剔除的网格值的位置作为特征网格的第一位置,最后一个未被剔除的网格值的位置作为特征网格的第二位置。可选地,对原网格进行的变形使网格的第一位置和第二位置处于同一条直线上,即在此情况下,该直线为竖直直线。
可选地,在进行路径特征距离的累加计算时,可在每个子网格处确定到该子网格位置的多个候选路径特征距离,并选取其中最小的候选路径特征距离作为到该网格为止的路径特征距离,同时对该路径特征距离对应的路径进行记录。
步骤808,从第二位置开始,根据路径特征距离向第一位置进行路径回溯,得到最短音频帧路径。
可选地,在经过了遍历之后,第二位置处储存了多个路径特征距离的结果,选取其中路径特征距离的结果最短的情况进行路径回溯,获取最短音频帧的路径。可选地,最短音频帧的路径即体现了参考音频帧与目标音频帧之间的对应关系。
步骤809,根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧。
可选地,确定与参考音频帧匹配的目标音频帧的过程是对于一系列参考音频帧所匹配的目标音频帧共同确定的过程。
可选地,在确定一系列参考音频帧所匹配的目标音频帧之后,即可通过参考音频帧对目标音频帧的特征距离的修正或消除来达到通过参考音频帧对目标音频帧进行修正的效果。可选地,通过整段参考音频帧对于目标音频帧的修正,完成参考音频段对对应的目标音频段的修正。
综上所述,本实施例提供的方法,通过在参考音频段中选取参考音频帧,并通过参考音频帧和偏移参数确定目标音频段中的候选音频帧,并根据参考音频帧与候选音频帧之间的特征距离最终确定出与参考音频帧对应的目标音频帧的方法,对参考音频段和目标音频段进行了分段处理与匹配,大幅度降低了运算量级,且建立了较小的特征网格,使匹配过程中占用的内存减小。通过对于偏移参数的确定,更加精确地体现了参考音频帧及其对应的目标音频帧的确定关系,并由此构建特征网格。通过以参考音频帧以及候选音频帧的对应关系建立特征网格,使特征网格的占用的空间较小,并且通过设定特征距离的路径的计算方式,获取最短音频帧路径。
图9示出了本公开一个示意性实施例提供的一种音频段的匹配装置的框图。
该装置包括:
获取模块901,用于获取目标音频段以及与目标音频段对应的参考音频段,参考音频段中包括参考音频帧;以及获取与参考音频帧对应的偏移参数,偏移参数用于指示目标音频段相对于参考音频段的偏移范围;
确定模块902,用于根据偏移参数从目标音频段中确定与参考音频帧对应的候选音频帧;确定参考音频帧与候选音频帧之间的特征距离;以及根据特征距离从候选音频帧中确定与参考音频帧匹配的目标音频帧。
在一个可选的实施例中,参考音频帧为参考音频段中位于目标时间点的音频帧,偏移参数为目标音频段的偏移帧数范围。
确定模块902,用于从目标音频段中确定位于目标时间点的基准音频帧;
获取模块901,用于以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,以基准音频帧为偏移基准帧,获取偏移帧数范围内的音频帧为候选音频帧,包括:
以基准音频帧为中心帧,获取位于基准音频帧之前和之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为起始帧,获取位于基准音频帧之后且在偏移帧数范围内的音频帧为候选音频帧;
或,
以基准音频帧为终止帧,获取位于基准音频帧之前且在偏移帧数范围内的音频帧为候选音频帧。
在一个可选的实施例中,该装置还包括:建立模块903。
建立模块903用于根据每个参考音频帧与候选音频帧之间的特征距离建立特征网格。
进一步地,确定模块902,用于在特征网格中确定特征路径,特征路径对应有路径特征距离;以及,确定路径特征距离之和最小的特征路径为最短音频帧路径,最短音频帧路径中包括与每个参考音频帧一一匹配的目标音频帧。
在一个可选的实施例中,该装置还包括:计算模块904。
计算模块904用于从特征网格的第一位置开始,向特征网格的第二位置进行路径特征距离的计算,第一位置位于特征路径的计算起点,第二位置位于特征路径的计算终点,第二位置和第一位置位于同一条竖直直线上。
进一步地,确定模块902,用于从第二位置开始,根据路径特征距离向第一位置进行路径回溯,得到最短音频帧路径。
在一个可选的实施例中,计算模块904用于从第一位置开始,向第二位置的直线方向分别进行路径特征距离的计算;
其中,第一位置指向第二位置的方向包括第一方向、第二方向和第三方向中的至少一个方向,第一方向、第二方向和第三方向为由第一位置指向第二位置的分量方向。
在一个可选的实施例中,确定模块902用于确定第一方向对应的第一累加参数、第二方向对应的第二累加参数以及第三方向对应的第三累加参数;
计算模块904用于当特征路径以第一方向遍历时,通过第一累加参数对路径特征距离进行累加;当特征路径以第二方向遍历时,通过第二累加参数对路径特征距离进行累加;当特征路径以第三方向遍历时,通过第三累加参数对路径特征距离进行累加。
需要说明的是:上述实施例提供的音频段的匹配装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
图10示出了本公开一个示意性实施例提供的计算机设备的结构示意图,该计算机设备包括处理器1101和存储器1104。
处理器1101包括一个或者一个以上处理核心,处理器1101通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器1104中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器1101加载并实现上述音频段的匹配方法。
计算机设备还包括接收器1102、发射器1103和总线1105。接收器1102和发射器1103可以实现为一个通信组件,该通信组件可以是一块通信芯片。存储器1104通过总线1105与处理器1101相连。
本公开实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述音频段的匹配方法。
本公开实施例还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的音频段的匹配方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述音频段的匹配方法。
可选地,该计算机可读存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、固态硬盘(ssd,solidstatedrives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistancerandomaccessmemory)和动态随机存取存储器(dram,dynamicrandomaccessmemory)。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。