说话人分离方法、装置和系统及存储介质与流程

文档序号:28398496发布日期:2022-01-08 01:12阅读:165来源:国知局
说话人分离方法、装置和系统及存储介质与流程

1.本发明涉及语音处理技术领域,具体地,涉及一种说话人分离方法、装置和系统及存储介质。


背景技术:

2.如今语音识别技术越来越普及,已广泛应用到各个领域。但是将音频识别成文本之后,如何将每个说话人对应的识别文本进行归类是目前面临的一个棘手的问题。上述归类问题可以采用说话人分离(或称角色分离)技术解决。说话人分离技术可以按照不同的说话人对语音数据中各帧音频数据进行分类整理,将属于同一个说话人的多帧音频数据标记出来。
3.目前常用的说话人分离方法主要包括训练一个端到端的说话人分离模型并利用该模型进行说话人分离。然而,这种基于说话人分离模型的算法计算量大,且识别性能也并不够好。


技术实现要素:

4.为了至少部分地解决现有技术中存在的问题,提供一种说话人分离方法、装置和系统及存储介质。
5.根据本发明一个方面,提供一种说话人分离方法,包括:获取待分离音频;对待分离音频的音频部分进行跳变点检测,音频部分为待分离音频的至少一部分;在跳变点出现的位置进行音频划分,以将音频部分划分为一个或多个音频段;确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段;如果当前音频段是第一个音频段,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库,声纹库用于存储一个或多个已知说话人各自的声纹特征集合,每个声纹特征集合包括至少一组声纹特征;如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人;如果当前音频段不属于任何已知说话人,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库;如果当前音频段属于任一特定已知说话人,则记录当前音频段与特定已知说话人之间的关联关系。
6.示例性地,在如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人之后,方法还包括:如果当前音频段属于任一特定已知说话人,则将当前音频段所对应的声纹特征添加到声纹库中的与特定已知说话人相对应的声纹特征集合中。
7.示例性地,在如果当前音频段属于任一特定已知说话人,则将当前音频段所对应的声纹特征添加到声纹库中的与特定已知说话人相对应的声纹特征集合中之前,方法还包括:如果声纹库中与特定已知说话人相对应的声纹特征的数目达到预设数目,则:对于特定声纹特征集合中的每个声纹特征,计算该声纹特征与特定声纹特征集合中的其他声纹特征
之间的相似度,以获得该声纹特征的声纹相似度;判断当前音频段所对应的声纹特征的声纹相似度是否最低;如果当前音频段所对应的声纹特征的声纹相似度不是最低,则将声纹相似度最低的声纹特征从声纹库中删除;其中,将当前音频段所对应的声纹特征添加到声纹库中的与特定已知说话人相对应的声纹特征集合中的步骤在当前音频段所对应的声纹特征的声纹相似度不是最低的情况下执行;并且其中,特定声纹特征集合包括声纹库中当前存储的与特定已知说话人相对应的声纹特征以及当前音频段所对应的声纹特征。
8.示例性地,在确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段之后,方法还包括:如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与预设数目的先前音频段所对应的声纹特征进行对比,以确定当前音频段是否属于预设数目的先前音频段中的任一音频段所属的说话人,其中,预设数目的先前音频段是一个或多个音频段中与当前音频段相邻且位于当前音频段之前的预设数目的音频段;其中,如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人的步骤在当前音频段不属于预设数目的先前音频段中的任一音频段所属的说话人的情况下执行。
9.示例性地,如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人包括:如果当前音频段不是第一个音频段,则对于声纹库中已存储的任一已知说话人,将该已知说话人所对应的所有声纹特征求平均,以获得该已知说话人所对应的代表声纹特征;将当前音频段所对应的声纹特征与该已知说话人所对应的代表声纹特征进行对比,以确定当前音频段是否属于该已知说话人。
10.示例性地,对待分离音频的音频部分进行跳变点检测包括:通过跳变点检测模型对音频部分进行跳变点检测。
11.示例性地,在通过跳变点检测模型对音频部分进行跳变点检测之前,方法还包括:获取训练音频及对应的初始标注数据,初始标注数据用于指示训练音频中的至少一个跳变点所在的位置;对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第一数目的附加音频帧;将第一数目的附加音频帧所在的位置确定为第一新跳变点位置;将第一新跳变点位置与初始标注数据结合以生成第一新标注数据;基于训练音频和第一新标注数据对跳变点检测模型执行第一训练操作。
12.示例性地,在基于训练音频和第一新标注数据对跳变点检测模型执行第一训练操作之后且在通过跳变点检测模型对音频部分进行跳变点检测之前,方法还包括:对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第二数目的附加音频帧,其中,第二数目小于第一数目;将第二数目的附加音频帧所在的位置确定为第二新跳变点位置;将第二新跳变点位置与初始标注数据结合以生成第二新标注数据;至少基于第二新标注数据获得第三新标注数据;基于训练音频和第三新标注数据对经第一训练操作获得的跳变点检测模型执行第二训练操作。
13.示例性地,所有标注数据采用与训练音频的帧长度一致的二进制序列表示,二进制序列中的每个数字表示对应音频帧是否是跳变点所在位置,其中,至少基于第二新标注数据获得第三新标注数据包括:将训练音频输入经第一训练操作获得的跳变点检测模型,以获得跳变点检测模型输出的预测跳变数据;将第二新标注数据和预测跳变数据进行加权
求和,以获得第三新标注数据。
14.示例性地,在将第二新标注数据和预测跳变数据进行加权求和的过程中,第二新标注数据的权重取为0.7,预测跳变数据的权重取为0.3。
15.示例性地,对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第一数目的附加音频帧包括:从该跳变点周围随机选取处于第一预设数目范围内的附加音频帧,其中,随机选取的执行结果为第一数目的附加音频帧。
16.示例性地,第一预设数目范围为20帧至40帧的范围。
17.示例性地,对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第二数目的附加音频帧包括:从该跳变点周围随机选取处于第二预设数目范围内的附加音频帧,其中,随机选取的执行结果为第一数目的附加音频帧。
18.示例性地,第二预设数目范围为10帧至20帧的范围。
19.示例性地,通过跳变点检测模型对音频部分进行跳变点检测包括:从音频部分中分别提取音调特征和梅尔倒谱系数特征;将音调特征输入第一卷积神经网络以获得第一特征;将梅尔倒谱系数特征输入第二卷积神经网络以获得第二特征;将第一特征和第二特征拼接在一起,以获得拼接特征;将拼接特征输入批标准化网络,以获得标准化特征;将标准化特征输入双向长短期记忆神经网络,以获得最终特征;将最终特征输入激活函数层,以获得跳变点检测结果。
20.示例性地,对待分离音频的音频部分进行跳变点检测包括:对待分离音频进行语音端点检测,以确定待分离音频中的有效语音部分;从待分离音频中提取有效语音部分;对有效语音部分进行跳变点检测,其中,音频部分为有效语音部分。
21.根据本发明另一方面,还提供一种说话人分离装置,包括:获取模块,用于获取待分离音频;检测模块,用于对待分离音频的音频部分进行跳变点检测,音频部分为待分离音频的至少一部分;划分模块,用于在跳变点出现的位置进行音频划分,以将音频部分划分为一个或多个音频段;确定模块,用于确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段;第一存储模块,用于如果当前音频段是第一个音频段,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库,声纹库用于存储一个或多个已知说话人各自的声纹特征集合,每个声纹特征集合包括至少一组声纹特征;对比模块,用于如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人;第二存储模块,用于如果当前音频段不属于任何已知说话人,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库;记录模块,用于如果当前音频段属于任一特定已知说话人,则记录当前音频段与特定已知说话人之间的关联关系。
22.根据本发明另一方面,还提供一种说话人分离系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行上述说话人分离方法。
23.根据本发明另一方面,还提供一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行上述说话人分离方法。
24.根据本发明实施例的说话人分离方法、装置和系统及存储介质,可以将跳变点检测以及声纹匹配技术组合起来进行说话人分离,这可以提高说话人分离的准确率。此外,该
方法可以在待分离音频中首次出现新说话人时直接进行注册,而无需针对这种新说话人进行声纹特征的匹配,这有助于简化说话人分离的实现过程,提高说话人分离的效率。
25.在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
26.以下结合附图,详细说明本发明的优点和特征。
附图说明
27.本发明的下列附图在此作为本发明的一部分用于理解本发明。附图中示出了本发明的实施方式及其描述,用来解释本发明的原理。在附图中,
28.图1示出根据本发明一个实施例的说话人分离方法的示意性流程图;
29.图2示出根据本发明一个实施例的说话人分离方法执行的流程图;
30.图3示出根据本发明一个实施例的人工标注数据与经过软处理的标注数据的示意图;
31.图4示出根据本发明一个实施例通过跳变点检测模型进行跳变点检测的示意图;
32.图5示出根据本发明一个实施例的说话人分离装置的示意性框图;以及
33.图6示出根据本发明一个实施例的说话人分离系统的示意性框图。
具体实施方式
34.在下文的描述中,提供了大量的细节以便能够彻底地理解本发明。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本发明的优选实施例,本发明可以无需一个或多个这样的细节而得以实施。此外,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行详细描述。
35.为了至少部分地解决上述技术问题,本发明实施例提供一种说话人分离方法和装置。通过该方法,可以将跳变点检测以及声纹匹配技术组合起来进行说话人分离,这可以提高说话人分离的准确率,并有助于简化说话人分离的实现过程。在说话人分离应用于语音识别领域的情况下,上述方案有助于进一步提高后续语音识别的准确性,从而可大大提高语音识别系统的用户体验。
36.根据本发明一个方面,提供一种说话人分离方法。图1示出根据本发明一个实施例的说话人分离方法100的示意性流程图。如图1所示,说话人分离方法100包括步骤s110、s120、s130、s140、s150、s160、s170和s180。
37.在步骤s110,获取待分离音频。
38.待分离音频可以是任意音频,其也可以具有任意长度,并可以具有任意来源。本发明不对待分离音频的来源、形式等做任何限定。
39.在步骤s120,对待分离音频的音频部分进行跳变点检测,音频部分为待分离音频的至少一部分。
40.可选地,可以采用任何合适的现有或将来可能出现的跳变点检测方法对音频部分进行跳变点检测。示例性地而非限制性地,可以通过跳变点检测模型对音频部分进行跳变点检测。
41.在一个示例中,可以直接对整个待分离音频进行跳变点检测。在另一个示例中,可以首先从待分离音频中提取出有效语音部分再针对有效语音部分进行跳变点检测。
42.示例性地,对待分离音频的音频部分进行跳变点检测(步骤s120)可以包括:对待分离音频进行语音端点检测(voice activity detection,vad),以确定待分离音频中的有效语音部分;从待分离音频中提取有效语音部分;对有效语音部分进行跳变点检测,其中,音频部分为有效语音部分。
43.可以对待分离音频进行vad切分,去掉非语音的部分。随后,可以将经过vad之后的有效语音部分送入跳变点检测模型中进行跳变点检测或者基于其他跳变点检测方式进行跳变点检测。对待分离音频进行vad处理的方案有助于获得跳变信息更集中的有效语音部分,从而有助于更准确高效地进行跳变点检测,这样也可以进一步提高说话人分离方法的精度和效率。
44.示例性地,跳变点检测结果可以采用二进制序列表示。该二进制序列与音频部分的帧长度一致,即二进制序列中的数字与音频部分的音频帧一一对应。在提取有效语音部分的实施例中,该二进制序列与有效语音部分的帧长度一致,即二进制序列中的数字与有效语音部分的音频帧一一对应。二进制序列的每个数字表示对应音频帧是否是跳变点所在位置。例如,二进制序列中的1(或0)表示对应音频帧是跳变点所在位置,二进制序列中的0(或1)表示对应音频帧不是跳变点所在位置。
45.在步骤s130,在跳变点出现的位置进行音频划分,以将音频部分划分为一个或多个音频段。
46.如果音频部分不存在跳变点,则其本身为单个音频段。如果音频部分存在多个跳变点,则可以划分获得多个音频段。
47.在步骤s140,确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段。
48.在步骤s150,如果当前音频段是第一个音频段,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库,声纹库用于存储一个或多个已知说话人各自的声纹特征集合,每个声纹特征集合包括至少一组声纹特征。
49.本文所述的声纹特征可以以组为基本单位,下文所述的声纹特征的数目可以理解为声纹特征的组数目。
50.如果当前音频段是第一个音频段,则可以直接将该当前音频段所属说话人作为新已知说话人进行注册。注册可以包括将当前音频段输入声纹提取模型进行声纹提取,并将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库。当然,注册还可以包括记录当前音频段与新已知说话人之间的关联关系。即,如果当前音频段是第一个音频段,还可以记录当前音频段与新已知说话人之间的关联关系。
51.在步骤s160,如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人。
52.声纹特征之间的对比即为声纹匹配。
53.如果当前音频段不是第一个音频段,则可以将当前音频段输入声纹提取模型进行声纹提取,并将提取的声纹特征与现有的声纹库中的已知说话人的声纹特征进行相似度对
比。如果存在相似度大于预设阈值的已知说话人,则可以将其确定为当前音频段所属的说话人,并记录当前音频段与其所属说话人之间的关联关系。如果不存在相似度大于预设阈值的任何已知说话人,则说明声纹库没有记录当前音频段所属的说话人,可以选择新建说话人记录(即上述注册新说话人)并记录当前音频段与新已知说话人之间的关联关系。
54.在步骤s170,如果当前音频段不属于任何已知说话人,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库。
55.在步骤s180,如果当前音频段属于任一特定已知说话人,则记录当前音频段与特定已知说话人之间的关联关系。
56.需注意,本文所述的“特定已知说话人”中的“特定”并非指某个预设好的固定的人,而是为了方便后续描述和引用所采用的术语,实际上该已知说话人可以是声纹库中的任意已知说话人。
57.可以针对一个或多个音频段中的每个音频段分别执行步骤s140-s180。通过以上方式,可以确定待分离音频中的各音频段所属的说话人,最终获得所需的说话人分离结果。可选地,后续可以进一步基于说话人分离结果进行语音识别文本的说话人归类等操作。
58.图2示出根据本发明一个实施例的说话人分离方法执行的流程图。参见图2,可以首先对待分离音频进行vad处理,获得有效语音部分。随后,可以将有效语音部分输入跳变点检测模型进行跳变点检测。随后,可以根据跳变点检测结果划分音频段并针对划分出的每个音频段,判断其是否是第一个音频段。如果当前音频段是第一个音频段,则将新spk注册到声纹库并记录该spk。spk是指说话人或说话人信息。记录spk可以理解为记录spk与当前音频帧之间的关联关系。如果当前音频段不是第一个音频段,则将其声纹特征与声纹库中的声纹特征进行对比,并根据对比结果确定当前音频帧是否属于已知说话人。如果当前音频帧属于已知说话人,则记录该说话人的spk(即当前spk)。如果当前音频帧不属于已知说话人,则将新spk注册到声纹库并记录该spk。
59.根据本发明实施例的说话人分离方法,可以将跳变点检测以及声纹匹配技术组合起来进行说话人分离,这可以提高说话人分离的准确率。此外,该方法可以在待分离音频中首次出现新说话人时直接进行注册,而无需针对这种新说话人进行声纹特征的匹配,这有助于简化说话人分离的实现过程,提高说话人分离的效率。
60.根据本发明实施例,在如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人之后,方法100还包括:如果当前音频段属于任一特定已知说话人,则将当前音频段所对应的声纹特征添加到声纹库中的与该已知说话人相对应的声纹特征集合中。
61.获得某个已知说话人的新的声纹特征之后,可以选择将其声纹特征添加到声纹库中与该已知说话人相对应的声纹特征集合中。这样,越往后检测,获得的声纹特征越多,声纹库的声纹信息也就越丰富,这有利于积累更多声纹信息,也就有助于提高后续的声纹匹配的精度。
62.根据本发明实施例,在如果当前音频段属于任一特定已知说话人,则将当前音频段所对应的声纹特征添加到声纹库中的与特定已知说话人相对应的声纹特征集合中之前,方法100还可以包括:如果声纹库中与特定已知说话人相对应的声纹特征的数目达到预设数目,则:对于特定声纹特征集合中的每个声纹特征,计算该声纹特征与特定声纹特征集合
中的其他声纹特征之间的相似度,以获得该声纹特征的声纹相似度;判断当前音频段所对应的声纹特征的声纹相似度是否最低;如果当前音频段所对应的声纹特征的声纹相似度不是最低,则将声纹相似度最低的声纹特征从声纹库中删除;其中,将当前音频段所对应的声纹特征添加到声纹库中的与特定已知说话人相对应的声纹特征集合中的步骤在当前音频段所对应的声纹特征的声纹相似度不是最低的情况下执行;并且其中,特定声纹特征集合包括声纹库中当前存储的与特定已知说话人相对应的声纹特征以及当前音频段所对应的声纹特征。
63.为与下文实施例区分,可以将本实施例中的预设数目称为第一预设数目。可选地,第一预设数目可以为任何合适的数目,其可以根据需要设定,本发明不对此进行限制。
64.对于任一已知说话人来说,其说话方式通常不会一成不变,例如,可能在其说话过程中会存在少数音调改变的部分。这些变调部分的声纹特征与其正常状态下的声纹特征相差较大,不太具有代表性,可能会影响整个声纹特征集合对说话人声音的表达,进而影响声纹匹配的精度。因此,可以在有质量更好的新声纹特征的情况下,删除先前的质量不太好的声纹特征,这样有助于提高声纹匹配的精度,以进一步提高说话人分离的精度。
65.下面举例说明。例如,假设对于说话人x,当前在声纹库中存储有其10组声纹特征。此外,还假设第一预设数目为10。如果经过声纹匹配,发现当前音频帧属于说话人x,那么可以将当前存储的10组声纹特征与当前音频帧所对应的声纹特征视为一个集合,即特定声纹特征集合。该特定声纹特征集合共包括11组声纹特征。针对这11组声纹特征,计算每组声纹特征与其他声纹特征之间的相似度。如果当前音频帧所对应的声纹特征的相似度最低,则可以选择不将该声纹特征添加到声纹库。如果原来的10组声纹特征中存在相似度最低的声纹特征,则可以将该相似度最低的声纹特征从声纹库中删除,并将当前音频帧所对应的声纹特征添加到声纹库中。
66.相似度的计算可以采用任何现有的或将来可能出现的相似度计算方式实现,例如欧氏距离等。示例性地而非限制性地,计算单个声纹特征与多个声纹特征之间的相似度可以包括:首先计算该单个声纹特征与每个其他声纹特征之间的相似度,随后将计算的多个相似度求平均,获得该单个声纹特征与多个声纹特征之间的相似度。
67.根据本发明实施例,在确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段之后,方法100还可以包括:如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与预设数目的先前音频段所对应的声纹特征进行对比,以确定当前音频段是否属于预设数目的先前音频段中的任一音频段所属的说话人,其中,预设数目的先前音频段是一个或多个音频段中与当前音频段相邻且位于当前音频段之前的预设数目的音频段;其中,如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人的步骤在当前音频段不属于预设数目的先前音频段中的任一音频段所属的说话人的情况下执行。
68.为与上文实施例区分,可以将本实施例中的预设数目称为第二预设数目。可选地,第二预设数目可以为任何合适的数目,其可以根据需要设定,本发明不对此进行限制。例如,第二预设数目可以为1、3、5等。
69.由于同一说话人的发言通常会持续一段时间,因此,前后相邻的音频段属于同一
说话人的概率较大。选择首先与先前相近音频段的说话人的声纹特征进行对比,在对比无果的情况下再去声纹库中对比,这样可以提高说话人分离的效率。
70.可选地,可以将预设数目的先前音频段所对应的声纹特征存储在缓存中,以便将当前音频段所对应的声纹特征与缓存的声纹特征进行对比。并且可选地,可以采用先入先出等方式更新缓存的内容。
71.根据本发明实施例,如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说话人(步骤s160)可以包括:如果当前音频段不是第一个音频段,则对于声纹库中已存储的任一已知说话人,将该已知说话人所对应的所有声纹特征求平均,以获得该已知说话人所对应的代表声纹特征;将当前音频段所对应的声纹特征与该已知说话人所对应的代表声纹特征进行对比,以确定当前音频段是否属于该已知说话人。
72.可以通过求平均的方式获得任一已知说话人的代表声纹特征,并将当前音频段所对应的声纹特征与这一代表声纹特征进行对比来确定当前音频段是否属于该已知说话人。如果当前音频段所对应的声纹特征与该代表声纹特征之间的相似度大于预设阈值,则可以确定当前音频段属于该已知说话人。如果当前音频段所对应的声纹特征与该代表声纹特征之间的相似度不大于预设阈值,则可以确定当前音频段不属于该已知说话人。
73.当然,可选地,也可以将当前音频段所对应的声纹特征与任一已知说话人所对应的所有声纹特征一一进行对比,如果存在相似度大于预设阈值的声纹特征,同样可以确定当前音频段属于该已知说话人。如果当前音频段所对应的声纹特征与任一已知说话人所对应的所有声纹特征之间的相似度均不大于预设阈值,则可以确定当前音频段不属于该已知说话人。当然,还可以有其他合适的声纹匹配逻辑,本文不一一赘述。
74.根据本发明实施例,对待分离音频的音频部分进行跳变点检测(步骤s120)可以包括:通过跳变点检测模型对音频部分进行跳变点检测。
75.本文所述的跳变点检测模型或上述声纹提取模型均可以采用规则+网络模型的方式构建。上述规则可以是任何合适的机器学习规则。示例性而非限制性地,上述跳变点检测模型或上述声纹提取模型可以任何合适的神经网络模型实现,例如采用卷积神经网络模型(cnn)、循环神经网络模型(rnn)、双向长短期记忆神经网络(bi-lstm)等网络模型中的一种或多种实现。
76.根据本发明实施例,在通过跳变点检测模型对音频部分进行跳变点检测之前,方法100还可以包括:获取训练音频及对应的初始标注数据,初始标注数据用于指示训练音频中的至少一个跳变点所在的位置;对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第一数目的附加音频帧;将第一数目的附加音频帧所在的位置确定为第一新跳变点位置;将第一新跳变点位置与初始标注数据结合以生成第一新标注数据;基于训练音频和第一新标注数据对跳变点检测模型执行第一训练操作。
77.对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第一数目的附加音频帧可以包括:从该跳变点的前面选取第一在先数目的在先音频帧和/或从该跳变点的后面选取第一在后数目的在后音频帧,其中,第一在先数目的在先音频帧是与该跳变点相邻的在先音频帧,第一在后数目的在后音频帧是与该跳变点相邻的在后音频帧。第一在先数目和第一在后数目之和为第一数目。第一在先数目和第一在后数目均可以是任意合适的值。
78.将第一新跳变点位置与初始标注数据结合是指在保留初始标注数据中原有的跳变点标注位置的情况下将第一新跳变点位置添加到初始标注数据中,形成第一新标注数据。
79.通过人工标注方式进行跳变点标注时,在跳变点通常只给出一个瞬时点,这对于神经网络来说比较突兀并且不鲁棒,跳变点与非跳变点的样本严重不对称,不便于训练。此外,本身单个跳变点标记可能很难保证对跳变位置的标注足够准确。本发明实施例提供一种通过软处理的方式生成更好的标注数据的方式。
80.所述软处理可以理解为在每个跳变点周围生成更多的跳变点标记,形成一个较宽的跳变点标记范围,从而减少跳变点与非跳变点的样本数量之间的偏差,形成更鲁棒的标注数据。
81.从初始标注数据所标注的跳变点周围选取第一数目的附加音频帧可以通过任意方式实现,并且第一数目也可以是任何合适的数目。在一个示例中,第一数目可以是预设的固定的值。例如,可以规定第一数目为50帧,这样所选取的附加音频帧的总数目为50帧。在另一个示例中,可以规定一个预设数目范围,在该预设数目范围内随机选取,这样,所选取的附加音频帧的数目可能不是固定的,其可以是随机的。例如,可以规定预设数目范围为20~40帧,这样所选取的附加音频帧可能是20帧、30帧、40帧等等,最后选取出的附加音频帧的数目即为第一数目。
82.此外,无论是基于固定的第一数目还是预设数目范围进行选取,都可以选择从跳变点的前面、或者后面、或者前面和后面一起进行音频帧的选取。此外,针对不同跳变点所选取的第一数目可以相同,也可以不同。
83.图3示出根据本发明一个实施例的人工标注数据与经过软处理的标注数据的示意图。参见图3,人工标注时,每当人检查到说话人发生变化时就记录一个发生变化的点,因此,获得的人工标注数据都是比较突兀的跳变点。
84.如上所述,可以通过在原始标注的跳变点周围随机选取预设数目范围(例如20~40帧)内的音频帧来进行软处理。例如:人工标注数据为:10

00100

0010

0100

0001,而经过软处理之后获得的新标注数据为:11

01110

0011

1110

0011。
85.基于新标注数据进行模型训练的方式与基于初始标注数据进行模型训练的方式类似,都可以采用常规的模型训练方式实现,本文不做赘述。
86.通过第一训练操作训练获得的跳变点检测模型可以直接用来进行跳变点检测,或者可选地,可以对该跳变点检测模型继续进行一次或多次与上文类似的基于软处理标注数据的训练。
87.根据本发明实施例,在基于训练音频和第一新标注数据对跳变点检测模型执行第一训练操作之后且在通过跳变点检测模型对音频部分进行跳变点检测之前,方法100还可以包括:对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第二数目的附加音频帧,其中,第二数目小于第一数目;将第二数目的附加音频帧所在的位置确定为第二新跳变点位置;将第二新跳变点位置与初始标注数据结合以生成第二新标注数据;至少基于第二新标注数据获得第三新标注数据;基于训练音频和第三新标注数据对经第一训练操作获得的跳变点检测模型执行第二训练操作。
88.与上一实施例类似地,对于至少一个跳变点中的每个跳变点,从该跳变点周围选
取第二数目的附加音频帧可以包括:从该跳变点的前面选取第二在先数目的在先音频帧和/或从该跳变点的后面选取第二在后数目的在后音频帧,其中,第二在先数目的在先音频帧是与该跳变点相邻的在先音频帧,第二在后数目的在后音频帧是与该跳变点相邻的在后音频帧。第二在先数目和第二在后数目之和为第二数目。第二在先数目和第二在后数目均可以是任意合适的值。
89.将第二新跳变点位置与初始标注数据结合是指在保留初始标注数据中原有的跳变点标注位置的情况下将第二新跳变点位置添加到初始标注数据中,形成第二新标注数据。
90.可以结合上一实施例理解本实施例中的附加音频帧的选取以及第二新标注数据的生成,此处不再赘述。
91.在上一次软处理过程中,所选取的附加音频帧可能数目较多(例如上述在20~40帧范围内),此时模型虽然好训练但是其预测精度不够高。为了提高跳变点检测模型的预测精度,可以继续进行第二次软处理及训练。在第二次软处理中,可以选取更少数目的音频帧(例如在10~20帧范围内随机选取),并用上一次训练获得的跳变点检测模型作为初始模型进行第二次训练。
92.当然,上述软处理及相应训练可以重复更多次。
93.根据本发明实施例,所有标注数据采用与训练音频的帧长度一致的二进制序列表示,二进制序列中的每个数字表示对应音频帧是否是跳变点所在位置,其中,至少基于第二新标注数据获得第三新标注数据可以包括:将训练音频输入经第一训练操作获得的跳变点检测模型,以获得跳变点检测模型输出的预测跳变数据;将第二新标注数据和预测跳变数据进行加权求和,以获得第三新标注数据。
94.各种标注数据(包括初始标注数据、第一新标注数据、第二新标注数据和第三新标注数据)以及跳变检测模型输出的预测跳变数据与上述跳变点检测结果的形式类似,均可以采用二进制序列来表达,此处不再赘述。
95.可选地,可以将第二新标注数据直接作为第三新标注数据。此外,可选地,还可以采用其他方式生成第三新标注数据。
96.例如,可以将经第一训练操作获得的跳变点检测模型作为初始模型,利用该初始模型对训练音频进行跳变点预测。随后,可以将跳变点检测模型预测的结果(预测跳变数据)与第二次软处理的结果(第二新标注数据)按照如下公式进行加权求和:
97.output=λ*input
预测
+(1-λ)*input


98.其中,output是第三新标注数据,input
预测
是跳变点检测模型输出的预测跳变数据,input

是第二次软处理获得的第二新标注数据,λ为预设权重。
99.示例性而非限制性地,第二新标注数据的权重大于预测跳变数据的权重,即λ《0.5。第二新标注数据相对预测跳变数据来说可靠性相对高一些,且为了使第二次软处理更好地发挥作用,可以控制第二新标注数据的权重相对预测跳变数据的权重大一些。
100.根据本发明实施例,在将第二新标注数据和预测跳变数据进行加权求和的过程中,第二新标注数据的权重取为0.7,预测跳变数据的权重取为0.3。
101.根据本发明实施例,对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第一数目的附加音频帧可以包括:从该跳变点周围随机选取处于第一预设数目范围内的附
加音频帧,其中,随机选取的执行结果为第一数目的附加音频帧。
102.根据本发明实施例,第一预设数目范围为20帧至40帧的范围。
103.根据本发明实施例,对于至少一个跳变点中的每个跳变点,从该跳变点周围选取第二数目的附加音频帧可以包括:从该跳变点周围随机选取处于第二预设数目范围内的附加音频帧,其中,随机选取的执行结果为第一数目的附加音频帧。
104.第二预设数目范围的上限小于或等于第一预设数目范围的下限。
105.根据本发明实施例,第二预设数目范围为10帧至20帧的范围。
106.上文已经描述了随机选取附加音频帧的实施例,此处不再赘述。
107.根据本发明实施例,通过跳变点检测模型对音频部分进行跳变点检测包括:从音频部分中分别提取音调特征和梅尔倒谱系数特征;将音调特征输入第一卷积神经网络以获得第一特征;将梅尔倒谱系数特征输入第二卷积神经网络以获得第二特征;将第一特征和第二特征拼接在一起,以获得拼接特征;将拼接特征输入批标准化网络,以获得标准化特征;将标准化特征输入双向长短期记忆神经网络,以获得最终特征;将最终特征输入激活函数层,以获得跳变点检测结果。
108.图4示出根据本发明一个实施例通过跳变点检测模型进行跳变点检测的示意图。
109.如图4所示,可以首先从音频(在本文中为上述音频部分)中分别提取音调(pitch)特征和梅尔倒谱系数(mfcc)特征。随后可以将两个特征分别送入卷积神经网络(cnn),cnn的输出可以拼接在一起之后送入批标准化网络(batch normalization,bn)。随后,可以将bn输出的结果送入bi-lstm。最后,bi-lstm输出的结果可以经过softmax函数层(未示出)进行分类之后获得跳变点检测结果。
110.根据本发明另一方面,提供一种说话人分离装置。图5示出了根据本发明一个实施例的说话人分离装置500的示意性框图。
111.如图5所示,根据本发明实施例的说话人分离装置500包括获取模块510、检测模块520、划分模块530、确定模块540、第一存储模块550、对比模块560、第二存储模块570和记录模块580。所述各个模块可分别执行上文中结合图1-4描述的说话人分离方法100的各个步骤/功能。以下仅对该说话人分离装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。
112.获取模块510用于获取待分离音频。
113.检测模块520用于对待分离音频的音频部分进行跳变点检测,音频部分为待分离音频的至少一部分。
114.划分模块530用于在跳变点出现的位置进行音频划分,以将音频部分划分为一个或多个音频段。
115.确定模块540用于确定一个或多个音频段中的任一当前音频段是否是音频部分中的第一个音频段。
116.第一存储模块550用于如果当前音频段是第一个音频段,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库,声纹库用于存储一个或多个已知说话人各自的声纹特征集合,每个声纹特征集合包括至少一组声纹特征。
117.对比模块560用于如果当前音频段不是第一个音频段,则将当前音频段所对应的声纹特征与声纹库中的声纹特征进行对比,以确定当前音频段是否属于声纹库中的已知说
话人。
118.第二存储模块570用于如果当前音频段不属于任何已知说话人,则将当前音频段所对应的声纹特征作为新已知说话人的声纹特征存储到声纹库。
119.记录模块580用于如果当前音频段属于任一特定已知说话人,则记录当前音频段与特定已知说话人之间的关联关系。
120.根据本发明另一方面,提供一种说话人分离系统。图6示出了根据本发明一个实施例的说话人分离系统600的示意性框图。说话人分离系统600包括处理器610和存储器620。
121.所述存储器620存储用于实现根据本发明实施例的说话人分离方法100中的相应步骤的计算机程序指令。
122.所述处理器610用于运行所述存储器620中存储的计算机程序指令,以执行根据本发明实施例的说话人分离方法100的相应步骤。
123.根据本发明另一方面,提供一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的说话人分离方法100的相应步骤,并且用于实现根据本发明实施例的说话人分离装置500中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。
124.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
125.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
126.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
127.本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
128.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用
微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的说话人分离系统中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
129.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
130.以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1