首页 / 专利库 / 信号处理 / 信号处理 / 音频信号处理 / 音频分割 / 音频分割方法、系统、电子设备和存储介质

音频分割方法、系统、电子设备和存储介质

阅读:790发布:2020-05-17

专利汇可以提供音频分割方法、系统、电子设备和存储介质专利检索,专利查询,专利分析的服务。并且本公开涉及语音处理技术领域,提供一种 音频分割 方法、系统、 电子 设备和存储介质。其中音频分割方法包括:对一原始音频进行 语音识别 ,生成一维拼音数组;对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;遍历所述一维拼音数组,获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据所述分界拼音分割所述一维拼音数组,生成第二二维拼音数组;遍历所述原始音频,获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据所述分界时间分割所述原始音频,生成多个目标音频段。本公开能够全自动地完成音频分割,且分割速度快、准确率高。,下面是音频分割方法、系统、电子设备和存储介质专利的具体信息内容。

1.一种音频分割方法,其特征在于,包括:
对一原始音频进行语音识别,生成一维拼音数组;
对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;
遍历所述一维拼音数组,获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据所述分界拼音分割所述一维拼音数组,生成第二二维拼音数组;
遍历所述原始音频,获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据所述分界时间分割所述原始音频,生成多个目标音频段。
2.如权利要求1所述的音频分割方法,其特征在于,所述获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音的步骤包括:
获得匹配度,包括:自所述一维拼音数组的第一个拼音元素起,按照预设长度单位,分别获得一个预设长度单位对应的拼音数组、以及依次增加至多个预设长度单位对应的拼音数组与所述第一二维拼音数组的第一行拼音数组的匹配度;
获得分界拼音,包括:筛选出所述获得匹配度的步骤中获得的一最高匹配度对应的拼音数组,将筛选出的所述拼音数组的尾部拼音元素作为与所述第一行拼音数组的尾部拼音元素对应的第一个分界拼音;以及
自所述第一个分界拼音的下一个拼音元素起,重复所述获得匹配度的步骤和所述获得分界拼音的步骤,直至获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音。
3.如权利要求2所述的音频分割方法,其特征在于,所述获得匹配度的步骤中,以一个拼音元素为所述预设长度单位,并分别计算各拼音数组与所述第一行拼音数组的编辑距离,直至由多个拼音元素组成的一拼音数组的长度超出所述第一行拼音数组的长度达一预设阈值;以及
所述获得分界拼音的步骤中,筛选出获得的编辑距离中一最小编辑距离对应的拼音数组,并将筛选出的所述拼音数组的尾部拼音元素作为所述第一个分界拼音。
4.如权利要求1所述的音频分割方法,其特征在于,所述获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间的步骤包括:
获得匹配度,包括:自所述原始音频的第一个音频数据起,按照预设时间单位,分别获得一个时间单位对应的音频段转化成的拼音数组与所述第二二维拼音数组的第一行拼音数组的匹配度、以及依次增加至多个时间单位对应的音频段转化成的拼音数组与所述第一行拼音数组的匹配度,直至获得的匹配度大于一匹配度阈值;
获得分界时间,包括:筛选出大于所述匹配度阈值的所述匹配度对应的拼音数组,将筛选出的所述拼音数组对应的音频段的时间长度作为与所述第一行拼音数组的数组长度对应的第一个分界时间;以及
自所述第一个分界时间的下一个音频数据起,重复所述获得匹配度的步骤和所述获得分界时间的步骤,直至获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间。
5.如权利要求4所述的音频分割方法,其特征在于,所述获得匹配度的步骤中,以单位字数的音频时间为所述预设时间单位,并分别计算各音频段转化成的拼音数组与所述第一行拼音数组的编辑距离,直至获得的编辑距离小于一编辑距离阈值;以及所述获得分界时间的步骤中,筛选出小于所述编辑距离阈值的所述编辑距离对应的拼音数组,并将筛选出的所述拼音数组对应的音频段的时间长度作为所述第一个分界时间。
6.如权利要求1所述的音频分割方法,其特征在于,所述对一原始音频进行语音识别,生成一维拼音数组的步骤包括:
提取所述原始音频的MFCC特征数据;以及
将所述MFCC特征数据输入卷积神经网络模型,获得所述一维拼音数组。
7.如权利要求1所述的音频分割方法,其特征在于,所述对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组的步骤包括:
过滤掉所述原始文本中除预设标点外的标点符号,并根据所述预设标点分割所述原始文本,生成文本数组,所述文本数组的一组文本元素对应所述原始文本的相邻两个预设标点之间的文本数据;
循环遍历所述文本数组,合并所述文本数组中的相邻组文本元素的长度和小于一长度阈值的相邻组文本元素,直至所述文本数组的各相邻组文本元素的长度和均大于等于所述长度阈值;
以所述文本数组的一组元素为一行,生成二维文本数组;以及
将所述二维文本数组的各文本元素转化成拼音,生成所述第一二维拼音数组。
8.如权利要求1所述的音频分割方法,其特征在于,所述根据所述分界时间分割所述原始音频之前,还包括:
对各分界时间进行端点检测,保留对应所述原始音频的有效语音段的分界时间。
9.一种音频分割系统,其特征在于,包括:
语音识别模,用于对一原始音频进行语音识别,生成一维拼音数组;
文本转化模块,用于对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;
第一分割模块,用于遍历所述一维拼音数组,获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据所述分界拼音分割所述一维拼音数组,生成第二二维拼音数组;以及
第二分割模块,用于遍历所述原始音频,获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据所述分界时间分割所述原始音频,生成多个目标音频段。
10.一种电子设备,其特征在于,包括:
一处理器;
存储器,所述存储器中存储有所述处理器的可执行指令;
其中,所述处理器被配置为经由执行所述可执行指令来执行如权利要求1至8任一项所述的音频分割方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现如权利要求1至8任一项所述的音频分割方法的步骤。

说明书全文

音频分割方法、系统、电子设备和存储介质

技术领域

[0001] 本公开涉及语音处理技术领域,具体地说,涉及一种音频分割方法、系统、电子设备和存储介质。

背景技术

[0002] 音频分割是指将长音频根据录音文本进行分割,使分割后的小音频段能运用在特定任务上,如个性化语音生成等。
[0003] 音频分割的主要流程包括:在对照录音文本录制对应的录音音频后,进行录音音频预处理,然后将录音文本分段,再根据分完段的录音文本段将录音音频分成小音频段。
[0004] 针对音频分割的主要流程,目前的解决方案大多是:手动对录音文本进行分段,使用循环神经网络对录音音频进行语音识别以得到录音音频对应的待匹配文本;然后将待匹配文本与分段后的录音文本进行匹配;并预设匹配度,以从录音音频中分割出对应的小音频段。
[0005] 上述音频分割的解决方案的主要缺陷包括:
[0006] 手动对录音文本分段,导致大量人的耗费;
[0007] 循环神经网络的训练和预测速度慢,影响音频分割速度;
[0008] 采用对录音音频进行语音识别得到的待匹配文本与录音文本进行匹配,使音频分割的准确率极大地依赖于语音识别的正确率;而目前最好的语音识别技术也不能完全识别出正确的文本,导致音频分割的正确率不高。
[0009] 需要说明的是,上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。发明内容
[0010] 有鉴于此,本公开提供一种音频分割方法、系统、电子设备和存储介质,以克服上述现有技术的问题,实现全自动地完成音频分割,且分割速度快、准确率高。
[0011] 本公开的一个实施例提供一种音频分割方法,包括:对一原始音频进行语音识别,生成一维拼音数组;对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;遍历所述一维拼音数组,获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据所述分界拼音分割所述一维拼音数组,生成第二二维拼音数组;遍历所述原始音频,获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据所述分界时间分割所述原始音频,生成多个目标音频段。
[0012] 在一个实施例中,所述获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音的步骤包括:获得匹配度,包括:自所述一维拼音数组的第一个拼音元素起,按照预设长度单位,分别获得一个预设长度单位对应的拼音数组、以及依次增加至多个预设长度单位对应的拼音数组与所述第一二维拼音数组的第一行拼音数组的匹配度;获得分界拼音,包括:筛选出所述获得匹配度的步骤中获得的一最高匹配度对应的拼音数组,将筛选出的所述拼音数组的尾部拼音元素作为与所述第一行拼音数组的尾部拼音元素对应的第一个分界拼音;以及自所述第一个分界拼音的下一个拼音元素起,重复所述获得匹配度的步骤和所述获得分界拼音的步骤,直至获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音。
[0013] 在一个实施例中,所述获得匹配度的步骤中,以一个拼音元素为所述预设长度单位,并分别计算各拼音数组与所述第一行拼音数组的编辑距离,直至由多个拼音元素组成的一拼音数组的长度超出所述第一行拼音数组的长度达一预设阈值;以及所述获得分界拼音的步骤中,筛选出获得的编辑距离中一最小编辑距离对应的拼音数组,并将筛选出的所述拼音数组的尾部拼音元素作为所述第一个分界拼音。
[0014] 在一个实施例中,所述获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间的步骤包括:获得匹配度,包括:自所述原始音频的第一个音频数据起,按照预设时间单位,分别获得一个时间单位对应的音频段转化成的拼音数组与所述第二二维拼音数组的第一行拼音数组的匹配度、以及依次增加至多个时间单位对应的音频段转化成的拼音数组与所述第一行拼音数组的匹配度,直至获得的匹配度大于一匹配度阈值;获得分界时间,包括:筛选出大于所述匹配度阈值的所述匹配度对应的拼音数组,将筛选出的所述拼音数组对应的音频段的时间长度作为与所述第一行拼音数组的数组长度对应的第一个分界时间;以及自所述第一个分界时间的下一个音频数据起,重复所述获得匹配度的步骤和所述获得分界时间的步骤,直至获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间。
[0015] 在一个实施例中,所述获得匹配度的步骤中,以单位字数的音频时间为所述预设时间单位,并分别计算各音频段转化成的拼音数组与所述第一行拼音数组的编辑距离,直至获得的编辑距离小于一编辑距离阈值;以及所述获得分界时间的步骤中,筛选出小于所述编辑距离阈值的所述编辑距离对应的拼音数组,并将筛选出的所述拼音数组对应的音频段的时间长度作为所述第一个分界时间。
[0016] 在一个实施例中,所述对一原始音频进行语音识别,生成一维拼音数组的步骤包括:提取所述原始音频的MFCC特征数据;以及将所述MFCC特征数据输入卷积神经网络模型,获得所述一维拼音数组。
[0017] 在一个实施例中,所述对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组的步骤包括:过滤掉所述原始文本中除预设标点外的标点符号,并根据所述预设标点分割所述原始文本,生成文本数组,所述文本数组的一组文本元素对应所述原始文本的相邻两个预设标点之间的文本数据;循环遍历所述文本数组,合并所述文本数组中的相邻组文本元素的长度和小于一长度阈值的相邻组文本元素,直至所述文本数组的各相邻组文本元素的长度和均大于等于所述长度阈值;以所述文本数组的一组元素为一行,生成二维文本数组;以及将所述二维文本数组的各文本元素转化成拼音,生成所述第一二维拼音数组。
[0018] 在一个实施例中,所述根据所述分界时间分割所述原始音频之前,还包括:对各分界时间进行端点检测,保留对应所述原始音频的有效语音段的分界时间。
[0019] 本公开的另一个实施例提供一种音频分割系统,包括:语音识别模,用于对一原始音频进行语音识别,生成一维拼音数组;文本转化模块,用于对一与所述原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;第一分割模块,用于遍历所述一维拼音数组,获得所述一维拼音数组中与所述第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据所述分界拼音分割所述一维拼音数组,生成第二二维拼音数组;以及第二分割模块,用于遍历所述原始音频,获得所述原始音频中与所述第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据所述分界时间分割所述原始音频,生成多个目标音频段。
[0020] 本公开的另一个实施例提供一种电子设备,包括:一处理器;一存储器,所述存储器中存储有所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行上述任意实施例所述的音频分割方法的步骤。
[0021] 本公开的另一个实施例提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述任意实施例所述的音频分割方法的步骤。
[0022] 本公开与现有技术相比的有益效果至少包括:
[0023] 通过对原始文本进行自动分割和转化生成拼音数组,并对原始音频进行语音识别生成拼音数组,然后根据拼音数组间的匹配结果分割原始音频,整个过程无需人工干扰,能全自动地完成音频分割;
[0024] 采用拼音匹配取代文字匹配,使匹配效果更好,并能够提高音频分割速度和音频分割准确率。
[0025] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0026] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1示出本公开一实施例中音频分割方法的步骤示意图;
[0028] 图2示出本公开一实施例中获得分界拼音的步骤示意图;
[0029] 图3示出本公开一实施例中获得分界时间的步骤示意图;
[0030] 图4示出本公开一实施例中对音频文件进行语音识别的模型示意图;
[0031] 图5示出本公开一实施例中生成第一二维拼音数组的步骤示意图;
[0032] 图6示出本公开一实施例中音频分割系统的模块示意图;
[0033] 图7示出本公开一实施例中电子设备的结构示意图;以及
[0034] 图8示出本公开一实施例中计算机可读存储介质的结构示意图。

具体实施方式

[0035] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使本公开全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
[0036] 图1示出一实施例中音频分割方法的主要步骤,参照图1所示,本实施例中音频分割方法包括:步骤S10、对一原始音频进行语音识别,生成一维拼音数组;步骤S20、对一与原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;步骤S30、遍历一维拼音数组,获得一维拼音数组中与第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据分界拼音分割一维拼音数组,生成第二二维拼音数组;步骤S40、遍历原始音频,获得原始音频中与第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据分界时间分割原始音频,生成多个目标音频段。
[0037] 上述实施例中,通过步骤S10对原始音频进行语音识别获得一维拼音数组,并通过步骤S20对原始文本进行分割,实现对原始音频和原始文本的预处理;通过步骤S20对分割后的原始文本进行转化获得第一二维拼音数组,并通过步骤S30将一维拼音数组与第一二维拼音数组匹配,获得一维拼音数组的分界拼音并按照分界拼音分割一维拼音数组,实现对原始音频的粗粒度匹配分割,从而生成原始音频对应的第二二维拼音数组;通过步骤S40将原始音频与第二二维拼音数组匹配,获得原始音频的分界时间并按照分界时间分割原始音频,实现对原始音频的细粒度匹配分割,从而生成目标音频段。整个音频分割过程无需人工干扰,能全自动地完成音频分割;采用拼音匹配取代文字匹配,使匹配效果更好,并能够提高音频分割速度和音频分割准确率。
[0038] 在一个实施例中,参照图2所述,上述步骤S30中获得分界拼音的步骤包括:S302、获得匹配度,包括:自一维拼音数组的第一个拼音元素起,按照预设长度单位,分别获得一个预设长度单位对应的拼音数组、以及依次增加至多个预设长度单位对应的拼音数组与第一二维拼音数组的第一行拼音数组的匹配度;S304、获得分界拼音,包括:筛选出获得匹配度的步骤中获得的一最高匹配度对应的拼音数组,将筛选出的拼音数组的尾部拼音元素作为与第一行拼音数组的尾部拼音元素对应的第一个分界拼音;以及S306、自第一个分界拼音的下一个拼音元素起,重复获得匹配度的步骤和获得分界拼音的步骤,直至获得一维拼音数组中与第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音。
[0039] 其中,步骤S302中,预设长度单位可以是元素个数,根据需要设定,例如为1个元素、2个元素、3个元素等等。预设长度单位越小,则匹配准确度越高。以预设长度单位为1个元素为例,步骤S302包括:首先计算一维拼音数组的第一个拼音元素与第一二维拼音数组的第一行拼音数组的匹配度;然后增加一个预设长度单位,将一维拼音数组的第一个拼音元素与第二个拼音元素拼接成拼音数组,计算该拼音数组与第一二维拼音数组的第一行拼音数组的匹配度;接着再增加一个预设长度单位,将一维拼音数组的第一个拼音元素、第二个拼音元素和第三个拼音元素拼接成拼音数组,计算该拼音数组与第一二维拼音数组的第一行拼音数组的匹配度;以此类推,直至计算到一维拼音数组的第一个拼音元素至第N个拼音元素拼接成的拼音数组与第一二维拼音数组的第一行拼音数组的匹配度。该第N个拼音元素的确定方式为:第一个拼音元素至第N个拼音元素拼接成的拼音数组的长度大于第一二维拼音数组的第一行拼音数组的长度,且长度差达到一预设阈值,例如2个元素。从而,既能保证第一个拼音元素至第N个拼音元素拼接成的拼音数组完全覆盖第一二维拼音数组的第一行拼音数组,又不会造成过多的冗余计算。接着,通过步骤S304,筛选出获得的匹配度中的最高匹配度对应的拼音数组,即为与第一二维拼音数组的第一行拼音数组最匹配的拼音数组,以该筛选出的拼音数组的尾部拼音元素作为与第一二维拼音数组的第一行拼音数组的尾部拼音元素对应的第一个分界拼音。并且以此类推,自第一个分界拼音的下一个拼音元素起,分别获得一维拼音数组中与第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音。按照分界拼音分割一维拼音数组,即可实现对原始音频的粗粒度匹配分割,生成原始音频对应的第二二维拼音数组。
[0040] 在一个具体的实施方式中,通过计算编辑距离获得匹配度。上述获得匹配度的步骤中,以一个拼音元素为预设长度单位,分别计算各拼音数组与第一行拼音数组的编辑距离,直至由多个拼音元素组成的一拼音数组的长度超出第一行拼音数组的长度达一预设阈值。上述获得分界拼音的步骤中,筛选出获得的编辑距离中一最小编辑距离对应的拼音数组,并将筛选出的拼音数组的尾部拼音元素作为第一个分界拼音。以此类推,即可获得一维拼音数组中与第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音。编辑距离(Edit Distance)是指两个字符串之间,由一个字符串转成另一个字符串所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,则两个字符串的相似度越大,匹配度越高。通过编辑距离进行一维拼音数组与第一二维拼音数组的匹配,使匹配不再完全依赖于语音识别的准确率,有利于提高音频分割的准确率。
[0041] 利用编辑距离计算由原始音频转化成的一维拼音数组与由原始文本转化成的第一二维拼音数组之间的相似程度的方法具体包括:遍历一维拼音数组,取第一个拼音元素,计算与第一二维拼音数组的第一行拼音数组的编辑距离,可以采用局部数组存储该编辑距离;接着拼接一维拼音数组的前两个拼音元素,计算拼接后的拼音数组与第一二维拼音数组的第一行拼音数组的编辑距离,并存入局部数组中;以此类推,拼接一维拼音数组的前三个拼音元素、前四个拼音元素,直到拼接后的拼音数组的数组长度略大于第一二维拼音数组的第一行拼音数组的数组长度时停止此次遍历,例如使拼接后的拼音数组的数组长度等于第一二维拼音数组的第一行拼音数组的数组长度加3。从而计算得到编辑距离的局部数组,它是一个先减小后增加的序列函数,找到该局部数组中的最小编辑距离和它对应的拼音数组的尾部拼音元素,就找到了一维拼音数组的第一个分界拼音。然后以该第一个分界拼音的下一个拼音元素为起点,计算与第一二维拼音数组的第二行拼音数组的编辑距离,依次类推,获得一维拼音数组的第二个分界拼音。再以第二个分界拼音的下一个拼音元素为起点,依次类推,获得一维拼音数组的所有分界拼音,作为粗略的分割位置点。根据得到的分界拼音将一维拼音数组分割成多段,即获得原始音频经语音识别和粗略分割后的第二二维拼音数组。
[0042] 在一个实施例中,参照图3所述,上述步骤S40中获得分界时间的步骤包括:S402、获得匹配度,包括:自原始音频的第一个音频数据起,按照预设时间单位,分别获得一个时间单位对应的音频段转化成的拼音数组与第二二维拼音数组的第一行拼音数组的匹配度、以及依次增加至多个时间单位对应的音频段转化成的拼音数组与第一行拼音数组的匹配度,直至获得的匹配度大于一匹配度阈值;S404、获得分界时间,包括:筛选出大于匹配度阈值的匹配度对应的拼音数组,将筛选出的拼音数组对应的音频段的时间长度作为与第一行拼音数组的数组长度对应的第一个分界时间;以及S406、自第一个分界时间的下一个音频数据起,重复获得匹配度的步骤和获得分界时间的步骤,直至获得原始音频中与第二二维拼音数组的各行拼音数组的数组长度对应的分界时间。
[0043] 其中,预设时间单位可以根据需要设定,预设时间单位越小,则匹配准确度越高。本实施例中原始音频与第二二维拼音数组的匹配同样可以通过编辑距离实现。在一个具体实施方式中,获得匹配度的步骤中,以单位字数的音频时间为预设时间单位,并分别计算各音频段转化成的拼音数组与第一行拼音数组的编辑距离,直至获得的编辑距离小于一编辑距离阈值;获得分界时间的步骤中,筛选出小于编辑距离阈值的编辑距离对应的拼音数组,并将筛选出的拼音数组对应的音频段的时间长度作为第一个分界时间。
[0044] 具体来说,首先预设一个时间单位,例如考虑到正常人1s大约会说3个字,则取0.3s作为预设时间单位。取原始音频的前0.3s,经语音识别成拼音数组后,计算该拼音数组与第二二维拼音数组的第一行拼音数组的编辑距离,记录到临时数组中;然后取原始音频的前0.6s,经语音识别成拼音数组后,计算与第二二维拼音数组的第一行拼音数组的编辑距离;依次类推,直到计算到一经语音识别后的拼音数组与第二二维拼音数组的第一行拼音数组的编辑距离小于预设的阈值,就记录下当前的时间下标,作为第一个分界时间。接着,从上一轮记录的时间下标开始,取往后的0.3s、0.6s、0.9s等等音频段,经语音识别转化成拼音数组后计算与第二二维拼音数组的第二行拼音数组的的编辑距离,直到编辑距离小于预设的阈值,记录下当前的时间下标,作为第二个分界时间。依次类推,得到原始音频的所有分界时间,一个时序分割数组,实现对原始音频的细粒度匹配分割。
[0045] 为了获取时序下的分割点,使用卷积神经网络对原始音频的各个音频段进行语音识别,卷积神经网络的预测速度快,不会影响音频分割速度。其中,使用卷积神经网络对原始音频的各个音频段进行语音识别的原理和过程可以参照下文将要说明的通过卷积神经网络对原始音频进行语音识别以生成一维拼音数组的原理和过程。
[0046] 通过卷积神经网络进行语音识别时,会经过训练阶段和预测阶段。在训练阶段,输入原始音频,先使用MFCC(Mel-scale Frequency Cepstral Coefficients,梅尔倒谱系数)提取音频特征,将音频特征转化成数字特征,后使用卷积神经网络进行训练,最终获得一维拼音数组。例如,可以使用VGG模型作为卷积神经网络模型,输入为原始音频的数字特征,输出为原始音频对应的一维拼音数组。VGG模型中每一个卷积层后有池化层和Dropout层,在最后一个Dropout层后是全连接层,可以使用CTC损失函数,优化器使用ADAM(自适应矩估计)优化器。在预测阶段,加载训练好的卷积神经网络模型,输入原始音频,即可得到一维拼音数组。
[0047] 在一个具体的实施例中,参照图4示出的对音频文件进行语音识别的模型,对原始音频进行语音识别生成一维拼音数组的步骤包括:首先提取原始音频的MFCC特征数据。由于原始音频很长,在提取MFCC特征数据时,先将原始音频按照一定的长度采样点进行分割,再进行特征提取和预测。例如,音频采样频率为16k(160k个采样点是10s),具体过程为:①分,每400个采样点分为一帧,因为音频采样频率统一为16k,所以400帧为25ms。②加窗,通过加汉明窗,增加每一帧信号左右两端连续性,具体公式为:其中,N为帧的大小,a通常取值为0.46。③对窗
口进行快速傅里叶变换,得到该窗口的频谱上的能量分布。④因为窗口是对称的,存储该窗口前一半,即前200个数据点。⑤窗口帧移步长为10ms,也即160个采样点,滑动到下一个帧。
⑥重复②-⑤步骤,直到处理完所有的音频数据,得到一个形状为steps×features的二维矩阵。其中,steps是步长,features=width/2,width是窗口长度。⑦对得到的二维矩阵进行取对数操作,得到原始音频的MFCC特征数据。
[0048] 然后使用卷积神经网络得到预测的拼音序列,具体包括:将MFCC特征数据对其之后,对数据进行维度增加和step维度的填充(这里使用1600step),得到形状为(batch×steps×features×1)的输入数据,本实施例中为(batch×1600×200×1)。每一个卷积层的卷积核大小为(3×3×out_dim),卷积核移动步长为1,采用‘same’填充,使得卷积核在输入数据steps和features两个维度移动时,输出和输入前两个维度上的大小相同,输出的维度为(batch×steps×features×out_dim)。每个卷积层后面接上一个dropout层和一个max_pooling层,dropout层设置一个失活概率,让该层的参数按照概率随机失活,可以提高模型泛化能力,max_pooling层设置pool大小为2,会使数据经过后,step和features维度减半。该卷积神经网络模型中,一次“卷积层→dropout层→卷积层→max_pooling层→dropout层”为一组,一共有5组,前三组的max_pooling层pool大小为2,使steps变成1600÷23=200,features变成200÷23=25,后三组max_pooling层pool大小为1,features大小不变。最后一组的卷积层的out_dim是128,因此最终5组过后,输出形状为(batch×200×25×
128),将其变形为(batch×200×3200)作为新的输入。新的输入经过全连接层,dropout层,最后形状变成(batch×200×pinyin_vocab_length),pinyin_vocab_length为拼音数目。
最后通过一个softmax层,得到一个(batch×200×pinyin_vocab_length)数据,表示btach中每一个的200个时间步对应的每一个拼音上的概率。需要注意的是,dropout层的功能只在卷积神经网络模型训练的过程中有效,预测过程,即实际语音识别过程会自动失效。得到输出对应有200个时间步,但是这个音频的拼音数量不一定是200,在每一个时间步上,一个概率序列表示每个拼音或者空白的概率,取概率最大值对应的拼音或者空白,可以得到一个时间步长度的拼音/空白序列索引,通过拼音词典可以得到相应的拼音/空白序列。根据CTC解码规则,可以得到预测的拼音序列。
[0049] 其中,CTC解码规则包括:若有一个拼音/空白序列“jin,jin,_,tian,_,tian,qi,bu,bu,cuo,cuo,cuo”,第一步、合并时间步上连续的重复的拼音,得到“jin,_,tian,_,tian,qi,bu,cuo”,第二步、移除序列中的空白,得到“jin,tian,tian,qi,bu,cuo”,即得到输出的拼音序列,对应本实施例即一维拼音数组。使用卷积神经网络进行语音识别,可以大大提高语音识别的速度。步骤S40中也采用图4所示的模型使用卷积神经网络对原始音频的各个音频段进行语音识别,其原理和过程不再重复说明。
[0050] 在一个实施例中,参照图5所示,上述步骤S20中生成第一二维拼音数组的步骤包括:S202、过滤掉原始文本中除预设标点外的标点符号,并根据预设标点分割原始文本,生成文本数组,文本数组的一组文本元素对应原始文本的相邻两个预设标点之间的文本数据;S204、循环遍历文本数组,合并文本数组中的相邻组文本元素的长度和小于一长度阈值的相邻组文本元素,直至文本数组的各相邻组文本元素的长度和均大于等于长度阈值;S206、以文本数组的一组元素为一行,生成二维文本数组;以及S208、将二维文本数组的各文本元素转化成拼音,生成第一二维拼音数组。采用拼音匹配取代文字匹配,可以使匹配效果更好。
[0051] 具体来说,先对原始文本进行自动分割,首先过滤掉原始文本中感叹号、句号和逗号以外的标点符号,然后根据保留的标点对原始文本进行粗分割生成文本数组;循环遍历文本数组,判断相邻数组元素的长度和是否大于阈值,如果小于阈值就拼接相邻数组的文本,并把拼接的文本放入新的数组中;如果大于阈值就不拼接,直接将原文本放入新的数组中,最终形成一个满足长度要求的文本数组。然后将分割后的文本数组转成拼音,生成第一二维拼音数组,该第一二维拼音数组中每一行对应原始文本中每一小句的拼音。转化成拼音的主要原因是原始音频经语音识别的结果也是拼音,则可以在拼音级别(而不是汉字级别)进行编辑距离的计算和后续的分割,使分割更加准确。
[0052] 进一步的,根据分界时间分割原始音频之前,还包括:对各分界时间进行端点检测,保留对应原始音频的有效语音段的分界时间。由于获得分界时间的步骤中每次都是取一个很短的时间段作为一个分界点,会使分割的点过于机械,因此通过端点检测使分割更加自然。具体包括:根据获得的时序分割数组,取出每个分界时间前后较短时间(例如0.5s)进行端点检测,端点检测主要是基于短时能量和过零点获取到最终的端点。经端点检测后的保留的分界时间即对应了原始音频的有效语音段。最后根据分界时间对原始音频进行分割,即可获得目标音频段。
[0053] 本公开的音频分割方法通过对原始文本进行自动分割和转化生成拼音数组,并对原始音频进行语音识别生成拼音数组,然后根据拼音数组间的匹配结果分割原始音频,采用拼音匹配取代文字匹配,使匹配效果更好,整个过程无需人工干扰,能全自动地完成音频分割;并通过卷积神经网络进行语音识别,提高了语音识别的速度,从而提高音频分割速度;通过基于编辑距离的匹配算法,使匹配不再完全依赖语音识别的准确率,从而提高音频分割准确率。
[0054] 本公开实施例还提供一种音频分割系统,参照图6所示,该音频分割系统包括:语音识别模块501,用于对一原始音频进行语音识别,生成一维拼音数组;文本转化模块502,用于对一与原始音频对应的原始文本进行分割和转化,生成第一二维拼音数组;第一分割模块503,用于遍历一维拼音数组,获得一维拼音数组中与第一二维拼音数组的各行拼音数组的尾部拼音元素对应的分界拼音,并根据分界拼音分割一维拼音数组,生成第二二维拼音数组;以及第二分割模块504,用于遍历原始音频,获得原始音频中与第二二维拼音数组的各行拼音数组的数组长度对应的分界时间,并根据分界时间分割原始音频,生成多个目标音频段。
[0055] 其中,语音识别模块501可以执行上述任意音频分割方法实施例描述的步骤S10,文本转化模块502可以执行上述任意音频分割方法实施例所描述的步骤S20,第一分割模块503可以执行上述任意音频分割方法实施例所描述的步骤S30,第二分割模块504可以执行上述任意音频分割方法实施例所描述的步骤S40。本公开的音频分割系统通过语音识别模块501对原始文本进行自动分割和转化生成拼音数组,通过文本转化模块502对原始音频进行语音识别生成拼音数组,通过第一分割模块503和第二分割模块504根据拼音数组间的匹配结果分割原始音频,整个过程无需人工干扰,能全自动地完成音频分割;且采用拼音匹配取代文字匹配,使匹配效果更好,并能够提高音频分割速度和音频分割准确率。
[0056] 本公开实施例还提供一种电子设备,包括处理器和存储器,存储器中存储有可执行指令,处理器被配置为经由执行可执行指令来执行上述实施例中的音频分割方法的步骤。
[0057] 如上所述,本公开的电子设备能够通过对原始文本进行自动分割和转化生成拼音数组,并对原始音频进行语音识别生成拼音数组,然后根据拼音数组间的匹配结果分割原始音频,整个过程无需人工干扰,能全自动地完成音频分割;且采用拼音匹配取代文字匹配,使匹配效果更好,并能够提高音频分割速度和音频分割准确率。
[0058] 图7是本公开实施例中电子设备的结构示意图,应当理解的是,图7仅仅是示意性地示出各个模块,这些模块可以是虚拟的软件模块或实际的硬件模块,这些模块的合并、拆分及其余模块的增加都在本公开的保护范围之内。
[0059] 所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
[0060] 下面参照图7来描述本公开的电子设备600。图7显示的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0061] 如图7所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
[0062] 其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行上述实施例中描述的音频分割方法的步骤。例如,处理单元610可以执行如图1至图5所示的步骤。
[0063] 存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
[0064] 存储单元620还可以包括具有一个或多个程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0065] 总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0066] 电子设备600也可以与一个或多个外部设备700通信,外部设备700可以是键盘、指向设备、蓝牙设备等设备中的一种或多种。这些外部设备700使得用户能与该电子设备600进行交互通信。电子设备600也能与一个或多个其它计算设备进行通信,所示计算机设备包括路由器、调制解调器。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。
[0067] 本公开实施例还提供一种计算机可读存储介质,用于存储程序,程序被执行时实现上述实施例描述的音频分割方法的步骤。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行上述实施例描述的音频分割方法的步骤。
[0068] 如上所述,本公开的计算机可读存储介质能够通过对原始文本进行自动分割和转化生成拼音数组,并对原始音频进行语音识别生成拼音数组,然后根据拼音数组间的匹配结果分割原始音频,整个过程无需人工干扰,能全自动地完成音频分割;且采用拼音匹配取代文字匹配,使匹配效果更好,并能够提高音频分割速度和音频分割准确率。
[0069] 图8是本公开的计算机可读存储介质的结构示意图。参考图8所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0070] 程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括但不限于:具有一个或多个导线的电连接、便携式盘、硬盘随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0071] 计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0072] 可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
[0073] 以上内容是结合具体的优选实施方式对本公开所作的进一步详细说明,不能认定本公开的具体实施只局限于这些说明。对于本公开所属技术领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本公开的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈