语音分离方法、装置、电子设备和可读存储介质转让专利

申请号 : CN202110260475.4

文献号 : CN112634935B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马路杨嵩

申请人 : 北京世纪好未来教育科技有限公司

摘要 :

本申请提供了一种语音分离方法、装置、电子设备和可读存储介质,语音分离方法包括:获取待处理语音帧;生成待处理语音帧的第一特征向量;对第一特征向量作聚类处理以获得第一特征向量类别;提取每个第一特征向量类别对应的声纹特征;根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。本申请提供了一种语音分离方法、装置、电子设备和可读存储介质,在保持语音分离数量灵活性的前提下,提高了语音分离的实时性。

权利要求 :

1.一种语音分离方法,其特征在于,包括:获取待处理语音帧;

生成所述待处理语音帧的第一特征向量,所述第一特征向量包括所述待处理语音帧的每个时频点的特征向量;

对所述第一特征向量作聚类处理以获得第一特征向量类别;

提取每个所述第一特征向量类别对应的声纹特征;

根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。

2.根据权利要求1所述的语音分离方法,其特征在于,所述生成所述待处理语音帧的第一特征向量,包括:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;

对所述网络模型进行训练,包括:获取至少两个说话人的第一时频域语音;

混合所述第一时频域语音,以获得第一混合语音;

根据所述第一时频域语音判断所述第一混合语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;

以所述第一混合语音和所述第一标签训练所述网络模型。

3.根据权利要求1或2所述的语音分离方法,其特征在于,利用K均值聚类模型对所述第一特征向量作聚类处理以获得第一特征向量类别。

4.根据权利要求1所述的语音分离方法,其特征在于,所述提取每个所述第一特征向量类别对应的声纹特征,包括:

确定所述待处理语音帧的每个第一特征向量类别对应的时频点掩码值;

根据所述待处理语音帧与相应时频点掩码值的乘积,以获得所述第一特征向量类别对应的语音;

将所述第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。

5.根据权利要求4所述的语音分离方法,其特征在于,对所述声纹特征提取模型进行训练,包括:

获取至少两个说话人的第二时频域语音;

根据将所述第二时频域语音输入到所述声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;

以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练所述声纹特征提取模型。

6.根据权利要求4或5所述的语音分离方法,其特征在于,所述生成所述待处理语音帧的第一特征向量,包括:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;

在所述根据所述待处理语音帧生成第一特征向量之前,所述方法还包括:联合训练所述网络模型和所述声纹特征提取模型;

其中,所述联合训练所述网络模型和所述声纹特征提取模型,包括:加载单独训练所述网络模型得到的第一网络参数,加载单独训练所述声纹特征提取模型得到的第二网络参数;

获取至少两个说话人的第三时频域语音,混合所述第三时频域语音得到第二混合语音;

将所述第二混合语音输入所述网络模型,获得第二特征向量,所述第二特征向量包括所述第二混合语音的每个时频点的特征向量;

对所述第二特征向量作聚类处理,得到第二特征向量类别;

确定每个第二特征向量类别对应的时频点掩码值;

计算所述第二混合语音与相应时频点掩码值的乘积,以获得所述第二特征向量类别对应的语音;

将所述第二特征向量类别对应的语音输入声纹特征提取模型,以获得所述第二混合语音的声纹特征;

根据所述第二混合语音的声纹特征与所述第二特征向量,以联合损失函数最小为训练目标,训练所述网络模型和所述声纹特征提取模型,其中,联合损失函数为所述网络模型的损失函数与声纹特征提取模型的损失函数的加权和函数。

7.根据权利要求1所述的语音分离方法,其特征在于,根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音,包括:

根据所述相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的特征向量类别组;

对所述特征向量类别组的声纹特征做平滑处理。

8.根据权利要求1所述的语音分离方法,其特征在于,所述特征向量为embedding向量。

9.一种语音分离装置,其特征在于,包括:获取模块,用于获取待处理语音帧;

特征向量生成模块,用于生成所述待处理语音帧的第一特征向量,所述第一特征向量包括所述待处理语音帧的每个时频点的特征向量;

聚类模块,用于对所述第一特征向量作聚类处理以获得第一特征向量类别;

声纹特征提取模块,用于提取每个所述第一特征向量类别对应的声纹特征;

语音输出模块,用于根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。

10.根据权利要求9所述的语音分离装置,其特征在于,所述特征向量生成模块在用于生成所述待处理语音帧的第一特征向量时,具体用于:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;

所述语音分离装置包括第一训练模块;

所述第一训练模块,用于:

获取至少两个说话人的第一时频域语音;

混合所述第一时频域语音,以获得第一混合语音;

根据所述第一时频域语音判断所述第一时频域语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;

以所述第一混合语音和所述第一标签训练所述网络模型。

11.根据权利要求9所述的语音分离装置,其特征在于,所述声纹特征提取模块在用于提取每个所述第一特征向量类别对应的声纹特征时,具体用于:确定所述待处理语音帧的每个第一特征向量类别对应的时频点掩码值;

根据所述待处理语音帧与相应时频点掩码值的乘积,以获得所述第一特征向量类别对应的语音;

将所述第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。

12.根据权利要求11所述的语音分离装置,其特征在于,所述装置包括第二训练模块;

所述第二训练模块,用于:

获取至少两个说话人的第二时频域语音;

根据将所述第二时频域语音输入到所述声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;

以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练所述声纹特征提取模型。

13.根据权利要求11或12所述的语音分离装置,其特征在于,所述特征向量生成模块在用于生成所述待处理语音帧的第一特征向量时,具体用于:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;

所述装置包括第三训练模块;

所述第三训练模块,用于:

加载单独训练所述网络模型得到的第一网络参数,加载单独训练所述声纹特征提取模型得到的第二网络参数;

获取至少两个说话人的第三时频域语音,混合所述第三时频域语音得到第二混合语音;

将所述第二混合语音输入所述网络模型,获得第二特征向量,所述第二特征向量包括所述第二混合语音的每个时频点的特征向量;

对所述第二特征向量作聚类处理,得到第二特征向量类别;

确定每个第二特征向量类别对应的时频点掩码值;

计算所述第二混合语音与相应时频点掩码值的乘积,以获得所述特征向量类别对应的语音;

将所述特征向量类别对应的语音输入声纹特征提取模型,以获得声纹特征;

根据所述第二混合语音的声纹特征与特征向量,以联合损失函数最小为训练目标,训练所述网络模型和所述声纹特征提取模型,其中,联合损失函数为所述网络模型的损失函数与声纹特征提取模型的损失函数的加权和函数。

14.根据权利要求9所述的语音分离装置,其特征在于,语音输出模块包括平滑处理模块;

所述平滑处理模块,用于:

根据所述相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的特征向量类别组,对所述特征向量类别组的声纹特征做平滑处理。

15.一种电子设备,包括存储器和处理器,所述存储器用于存储计算机指令,其特征在于,所述计算机指令被所述处理器执行以实现如权利要求1‑8任一项所述的方法。

16.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现如权利要求1‑8任一项所述的方法。

说明书 :

语音分离方法、装置、电子设备和可读存储介质

技术领域

[0001] 本申请涉及声学领域,尤其涉及一种语音分离方法、装置、电子设备和可读存储介质。

背景技术

[0002] 在语音交互场景中,语音分离的好坏直接影响后端语音识别率和用户的听感体验,是语音技术的关键核心技术,采用深度聚类框架的神经网络只能在语音结束的最后时
刻一次性恢复出所有的声源,虽然增加了分离声源数量的灵活性,但无法实时处理。

发明内容

[0003] 为了解决上述技术问题中的至少一个,本申请提供了一种语音分离方法、装置、电子设备和可读存储介质。
[0004] 本申请的第一方面,一种语音分离方法,包括:
[0005] 获取待处理语音帧;
[0006] 生成所述待处理语音帧的第一特征向量,所述第一特征向量包括所述待处理语音帧的每个时频点的特征向量;
[0007] 对所述第一特征向量作聚类处理以获得第一特征向量类别;
[0008] 提取每个所述第一特征向量类别对应的声纹特征;
[0009] 根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。
[0010] 可选的,所述生成所述待处理语音帧的第一特征向量,包括:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;
[0011] 对所述网络模型进行训练,包括:
[0012] 获取至少两个说话人的第一时频域语音;
[0013] 混合所述第一时频域语音,以获得第一混合语音;
[0014] 根据所述第一时频域语音判断所述第一混合语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;
[0015] 以所述第一混合语音和所述第一标签训练所述网络模型。
[0016] 可选的,利用K均值聚类模型对所述第一特征向量作聚类处理以获得第一特征向量类别。
[0017] 可选的,所述提取每个所述第一特征向量类别对应的声纹特征,包括:
[0018] 确定所述待处理语音帧的每个第一特征向量类别对应的时频点掩码值;
[0019] 根据所述待处理语音帧与相应时频点掩码值的乘积,以获得所述第一特征向量类别对应的语音;
[0020] 将所述第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。
[0021] 可选的,对所述声纹特征提取模型进行训练,包括:
[0022] 获取至少两个说话人的第二时频域语音;
[0023] 根据将所述第二时频域语音输入到所述声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;
[0024] 以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练所述声纹特征提取模型。
[0025] 可选的,所述生成所述待处理语音帧的第一特征向量,包括:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;
[0026] 在所述根据所述待处理语音帧生成第一特征向量之前,所述方法还包括:联合训练所述网络模型和所述声纹特征提取模型;
[0027] 其中,所述联合训练所述网络模型和所述声纹特征提取模型,包括:
[0028] 加载单独训练所述网络模型得到的第一网络参数,加载单独训练所述声纹特征提取模型得到的第二网络参数;
[0029] 获取至少两个说话人的第三时频域语音,混合所述第三时频域语音得到第二混合语音;
[0030] 将所述第二混合语音输入所述网络模型,获得第二特征向量,所述第二特征向量包括所述第二混合语音的每个时频点的特征向量;
[0031] 对所述第二特征向量作聚类处理,得到第二特征向量类别;
[0032] 确定每个第二特征向量类别对应的时频点掩码值;
[0033] 计算所述第二混合语音与相应时频点掩码值的乘积,以获得所述第二特征向量类别对应的语音;
[0034] 将所述第二特征向量类别对应的语音输入声纹特征提取模型,以获得所述第二混合语音的声纹特征;
[0035] 根据所述第二混合语音的声纹特征与所述第二特征向量,以联合损失函数最小为训练目标,训练所述网络模型和所述声纹特征提取模型,其中,联合损失函数为所述网络模
型的损失函数与声纹特征提取模型的损失函数的加权和函数。
[0036] 可选的,根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音,包括:
[0037] 根据所述相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的特征向量类别组;
[0038] 对所述特征向量类别组的声纹特征做平滑处理。
[0039] 可选的,所述特征向量为embedding向量。
[0040] 本申请的第二方面,一种语音分离装置,包括:
[0041] 获取模块,用于获取待处理语音帧;
[0042] 特征向量生成模块,用于生成所述待处理语音帧的第一特征向量,所述第一特征向量包括所述待处理语音帧的每个时频点的特征向量;
[0043] 聚类模块,用于对所述第一特征向量作聚类处理以获得第一特征向量类别;
[0044] 声纹特征提取模块,用于提取每个所述第一特征向量类别对应的声纹特征;
[0045] 语音输出模块,用于根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。
[0046] 可选的,所述特征向量生成模块在用于生成所述待处理语音帧的第一特征向量时,具体用于:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;
[0047] 所述语音分离装置包括第一训练模块;
[0048] 所述第一训练模块,用于:
[0049] 获取至少两个说话人的第一时频域语音;
[0050] 混合所述第一时频域语音,以获得第一混合语音;
[0051] 根据所述第一时频域语音判断所述第一时频域语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;
[0052] 以所述第一混合语音和所述第一标签训练所述网络模型。
[0053] 可选的,所述声纹特征提取模块在用于提取每个所述第一特征向量类别对应的声纹特征时,具体用于:
[0054] 确定所述待处理语音帧的每个第一特征向量类别对应的时频点掩码值;
[0055] 根据所述待处理语音帧与相应时频点掩码值的乘积,以获得所述第一特征向量类别对应的语音;
[0056] 将所述第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。
[0057] 可选的,所述装置包括第二训练模块;
[0058] 所述第二训练模块,用于:
[0059] 获取至少两个说话人的第二时频域语音;
[0060] 根据将所述第二时频域语音输入到所述声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;
[0061] 以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练所述声纹特征提取模型。
[0062] 可选的,所述特征向量生成模块在用于生成所述待处理语音帧的第一特征向量时,具体用于:根据预先训练的网络模型生成所述待处理语音帧的第一特征向量;
[0063] 所述装置包括第三训练模块;
[0064] 所述第三训练模块,用于:
[0065] 加载单独训练所述网络模型得到的第一网络参数,加载单独训练所述声纹特征提取模型得到的第二网络参数;
[0066] 获取至少两个说话人的第三时频域语音,混合所述第三时频域语音得到第二混合语音;
[0067] 将所述第二混合语音输入所述网络模型,获得第二特征向量,所述第二特征向量包括所述第二混合语音的每个时频点的特征向量;
[0068] 对所述第二特征向量作聚类处理,得到第二特征向量类别;
[0069] 确定每个第二特征向量类别对应的时频点掩码值;
[0070] 计算所述第二混合语音与相应时频点掩码值的乘积,以获得所述特征向量类别对应的语音;
[0071] 将所述特征向量类别对应的语音输入声纹特征提取模型,以获得声纹特征;
[0072] 根据所述第二混合语音的声纹特征与特征向量,以联合损失函数最小为训练目标,训练所述网络模型和所述声纹特征提取模型,其中,联合损失函数为所述网络模型的损
失函数与声纹特征提取模型的损失函数的加权和函数。
[0073] 可选的,语音输出模块包括平滑处理模块;
[0074] 所述平滑处理模块,用于:
[0075] 根据所述相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的特征向量类别组,对所述特征向量类别组的声纹特
征做平滑处理。
[0076] 本申请的第三方面,一种电子设备,包括存储器和处理器,所述存储器用于存储计算机指令,所述计算机指令被所述处理器执行以实现如本申请的第一方面任一所述的方
法。
[0077] 本申请的第四方面,一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如本申请的第一方面任一所述的方法。
[0078] 通过实施本申请的技术方案可以取得以下有益技术效果:本申请的技术方案,通过生成待处理语音帧的第一特征向量;对第一特征向量作聚类处理以获得第一特征向量类
别,提取第一特征向量类别对应的声纹特征,根据相邻待处理语音帧的声纹特征相似度最
高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。
[0079] 本申请的技术方案,通过聚类获取第一特征向量类别,进而保留了聚类对语音分离数量的灵活性,再以相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的
第一特征向量类别组合所对应的通道作为分离语音的通道,消除了通道交叉问题,实现了
通道实时跟踪,提高了语音分离的实时性。

附图说明

[0080] 附图示出了本申请的示例性实施方式,并与其说明一起用于解释本申请的原理,其中包括了这些附图以提供对本申请的进一步理解,并且附图包括在本说明书中并构成本
说明书的一部分。
[0081] 图1是本申请实施例公开的一种语音分离方法的流程图;
[0082] 图2是本申请实施例公开的一种提取声纹特征的流程图;
[0083] 图3是本申请实施例公开的一种语音分离方法的通道拼接示意图;
[0084] 图4是本申请实施例公开的一种语音分离方法的原理示意图;
[0085] 图5是本申请实施例公开的一种语音分离方法的数据准备示意图;
[0086] 图6是本申请实施例公开的一种语音分离装置的结构框图;
[0087] 图7是本申请实施方式中的一种电子设备的结构框图;
[0088] 图8是本申请实施方式中的一种语音分离方法的计算机系统的结构示意图。

具体实施方式

[0089] 下面结合附图和实施方式对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本申请的限定。另外还需要说明的是,为
了便于描述,附图中仅示出了与本申请相关的部分。
[0090] 需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本申请。
[0091] 参见图1,语音分离方法,包括:
[0092] S101,获取待处理语音帧;
[0093] 在本实施例的S101中,可以对待处理语音分帧处理后进行短时傅里叶变换,以得到待处理语音帧。
[0094] 具体的,作为可选项,将待处理语音切分成32ms的时间窗口,8ms的帧移,经过256点短时傅里叶变换之后变换到时频域,取前129个点作为待处理语音帧。
[0095] S102,生成待处理语音帧的第一特征向量,第一特征向量包括所述待处理语音帧的每个时频点的特征向量;
[0096] 在本实施例的S102中,生成的第一特征向量用于被聚类处理后得到第一特征向量类别,使不同说话人(声源)的第一特征向量被聚类到不同的第一特征向量类别,相同说话
人的第一特征向量被聚类到相同的第一特征向量类别;
[0097] 此处,可根据预先训练的网络模型生成待处理语音帧的第一特征向量;此处的第一特征向量可以是embedding向量(嵌入向量),当第一特征向量是embedding向量时,网络
模型是embedding模型。具体的,此处可将待处理语音帧的每一个时频点转化为深度表示
embedding得到embedding向量。
[0098] 网络模型可以由4层双向长短期记忆层(bi‑directional long short‑term memory,BLSTM)和一层全连接层(fully connection, FC)组成,输出T×F×D,T表示时间长
度,F表示频域长度,D表示第一特征向量维度,其取值大小可在网络训练过程中从备选数值
(如:10 100)中选择使分类效果最好的值作为最终数值。
~
[0099] S103,对第一特征向量作聚类处理以获得第一特征向量类别;
[0100] 在本实施例的S103中,对第一特征向量作聚类处理后得到第一特征向量类别,目的是使不同说话人的第一特征向量被聚类到不同的第一特征向量类别;相同说话人的第一
特征向量被聚类到相同的第一特征向量类别;
[0101] S104,提取每个第一特征向量类别对应的声纹特征;
[0102] 在本实施例中的S104中,第一特征向量类别对应的声纹特征是待处理语音帧在该第一特征向量类别对应的声纹特征;例如,待处理语音帧第t帧的第一特征向量聚类出K个
特征向量类别,根据第k(k=1,2,…,K,K为第一特征向量类别总数)个第一特征向量类别,可
以计算得到待处理语音帧中属于第k个第一特征向量类别对应的语音,提取该语音所得到
的声纹特征,即第k个第一特征向量类别对应的声纹特征。声纹特征具有一个特点,即相同
说话人的声纹特征的相识度高或距离短,若第t帧第k个第一特征向量类别对应的声纹特征
与第t+1帧第k个第一特征向量类别对应的声纹特征的相似度越高或距离越短,则说明第t
帧第k个第一特征向量类别对应的语音与第t+1帧第k个第一特征向量类别对应的语音是同
一个的语音的可能性越大。
[0103] 提取每个第一特征向量类别对应的声纹特征,包括提取第一特征向量类别对应的语音,将第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特
征向量类别对应的声纹特征。
[0104] 具体的,参见图2,提取每个第一特征向量类别对应的声纹特征,可包括:
[0105] S201,确定待处理语音帧的每个第一特征向量类别对应的时频点掩码值;
[0106] S202,根据待处理语音帧与相应时频点掩码值的乘积,以获得第一特征向量类别对应的语音;
[0107] S203,将第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。
[0108] 其中,声纹特征提取模型可以是带投影的三层长短时记忆网络模型(3‑layer LSTM with projection),也可以采用其他训练后可以提取声纹特征的模型。
[0109] S105,根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。
[0110] 在本实施例中的S105中,相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,可以表明相应的相邻帧的两个第一特征向量类别对应
的语音是同一声源的语音,即可以确定分离语音的通道。为了便于理解,以第t帧和t+1帧为
例,进行说明,根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第
一特征向量类别组合,可以确定第t帧的哪个第一特征向量类别与第t+1帧第二待处理帧的
哪个第一特征向量类别是同一说话人的语音,假设第t帧第k(k=1,2,…,K,K为第一特征向
量类别总数)个第一特征向量类别对应的声纹特征与第t+1帧第k个第一特征向量类别对应
的声纹特征的相似度高或距离短,则说明第t帧第k个第一特征向量类别对应的声纹特征与
第t+1帧第k个第一特征向量类别对应的声纹特征是同一说话人的声纹特征;此处拼接第t
帧第k个第一特征向量类别对应的声纹特征对应的通道与第t+1帧第k个第一特征向量类别
对应的声纹特征对应的通道;同理,拼接第t帧的其他第一特征向量类别对应的声纹特征对
应的通道与第t+1帧的其他第一特征向量类别对应的声纹特征对应的通道;拼接完成后,相
同说话人是相同通道,不同说话人是不同通道,而通道对应的语音是通道分离后的语音。
[0111] 正常情况下,若第t帧第k个第一特征向量类别与第t+1帧第k个第一特征向量类别是同一个说话人的,那么,第t帧第k个第一特征向量类别对应的声纹特征与第t+1帧所有K
个第一特征向量类别对应的声纹特征的相似度或距离中,第t帧第k个第一特征向量类别与
第t+1帧第k个第一特征向量类别对应的相似度最高或距离最短。
[0112] 其中,可穷举第t帧K个第一特征向量类别与第t帧K个第一特征向量类别对应的组合排列,根据总的相似度最大或距离最短确定需拼接的第一特征向量类别。
[0113] 在一个实施方式中,参见图3,假定待处理语音是两个说话人的混合语音,待处理语音帧输入(framing input)Embedding模型,经过Embedding模型转变到embedding域之
后,采用聚类模型聚类出2个类别,具体该聚类模型可采用K均值聚类模型,即K‑Means聚类
模型,该聚类模型也可以采用均值漂移聚类、基于密度的聚类、用高斯混合模型的最大期望
聚类等其他聚类模型。
[0114] 假定前后相邻两帧待处理语音分别是frame #1和frame #2;frame #1时刻聚类出两个类别,根据两个类别分别得到对应的二进制掩码(binary mask, BM),进而得到对应类
别的第frame #1帧的时频表示,将该结果输入声纹特征提取模型(Speaker Encoder)之后
得到该类别对应的第frame #1帧的声纹特征,标记为:dc,t,其中,d表示声纹特征,c表示说
话人,t表示帧。假定,第frame #1帧两个类别提取的声纹特征分别是d1,1和d2,1,第frame #2
帧两个类别提取的声纹特征分别是d1,2和d2,2,为了将前后两帧待处理语音对应通道拼接到
一起,计算前后两帧两个类别对应声纹特征的距离或者相似度,共有 种排列,即:两个说
话人有两种组合排列: 。
[0115] 针对上述两种组合排列情况,分别计算距离或相似度,选择距离最短或者相似度最大的排列方式。假定,根据第frame #1帧的通道1和通道2的声纹特征d1,1和d2,1,计算得到
的第frame #2帧的通道1和通道2的声纹特征分别是 和 。此时,将第frame #1帧声纹特
征d1,1对应的通道与第frame #2帧声纹特征 对应的通道拼接到一起,将第frame #1帧声
纹特征d2,1对应的通道与第frame #2帧声纹特征 对应的通道拼接到一起;与此同时,可
将通道1第frame #1帧的声纹特征d1,1与通道1第frame #2帧的声纹特征 进行平滑得到
更稳定的声纹特征d1,将通道2第frame #1帧的声纹特征d2,1与通道2第frame #2帧的声纹
特征 进行平滑得到更稳定的声纹特征d2,即:
[0116] (1)
[0117] (2)
[0118] 其中,公式(1)和公式(2)中的α是预设的权重;
[0119] 基于更稳定的声纹特征d2可以得到更稳定的通道分离后的语音。
[0120] 本实施方式中,根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的第一特征向量类别组,对所述第一特征向
量类别组的声纹特征做平滑处理。以上述举例内容为例,通过公式(3)计算的得到的组合就
是第一特征向量类别组合,而第一特征向量类别组合中的每个特征向量类别组均是一个相
同声源的特征向量类别组:
[0121] (3)
[0122] 其中,上述sim表示计算声纹特征相似度。
[0123] 由于聚类出的聚类中心会随环境和时间而变化,相邻两帧的聚类中心会发生变化,故无法根据前一帧的聚类准确的选择下一帧的聚类,即:第t帧聚类出的K个类别无法与
第t+1帧聚类出的K个类别一一对应上,从而出现通道交叉问题。而本发明实施例根据声纹
特征具有稳定性的特点,将第t帧聚类出的K个类别提取对应的声纹特征,在第t+1帧的时
候,利用第t帧得到的每个类别的声纹特征在第t+1帧的K个类别对应的声纹特征中选择距
离最短或者相似度最大的声纹特征所对应的第一特征向量类别作为第t+1帧中与第t帧所
对应的类别,从而实现相邻帧分离后的通道跟踪,进而得到通道分离后的语音。
[0124] 以第一特征向量是Embedding向量、第一特征向量类别是Embedding向量类别和网络模型是Embedding模型为例,参见图4,语音帧输入(framing input)经短时傅里叶变换模
块(STFT)和特征提取模块后,分别进入Embedding模型和时频掩码模块,由Embedding模型
生成语音帧在每个时频点的embedding向量,由聚类模型聚类处理embedding向量,得到相
应的embedding向量类别;时频掩码模块生成每个embedding向量类别的时频点掩码值,并
根据时频点掩码值确定embedding向量类别的语音;声纹特征提取模型根据embedding向量
类别的语音生成embedding向量类别的声纹特征,通道跟踪模型根据embedding向量类别的
声纹特征,确定声纹特征相似度最高或者声纹特征距离最短的embedding向量类别组合,并
根据声纹特征相似度最高或者声纹特征距离最短的embedding向量类别组合,拼接通道,拼
接通道后即可获得相应的分离的语音;其中,图4中黑色长方形表示实际的一个说话人的
embedding向量类别,灰色长方形表示实际的另一个说话人的embedding向量类别,聚类模
型聚类后通道存在通道模糊,而通道跟踪模型处理后可以消除通道模糊。
[0125] 本申请实施例中用到了多个预先训练的模型,下面针对相关模型的训练和运用进行介绍。
[0126] 首先准备训练所需的数据和标签,参见图5,以两说话人分离为例。其中,RIR(Room Impulse Response)表示房间冲激响应,用来构建混响数据,模拟真实场景;STFT(Short‑
Time Fourier Transform)表示短时傅里叶变换,用于将时域波形转换到时频域。纯净的语
音source1经过房间冲激响应之后作为说话人#1的语音,经过短时傅里叶变换变换为时频
域信号S(1 t,f),计算时频域信号每个时频点的能量,其中,t表示时间、f表示频率;同理,纯
净的语音source2经过房间冲激响应之后作为说话人#2的语音,经过STFT变换得到时频域
信号S(2 t,f),计算每个时频点能量;比较每个时频点上说话人#1的时频域信号S(1 t,f)的能
量和说话人#2的时频域信号S(2 t,f)的能量;对说话人#1来说,若 ,则该时频
点的label为Y1(t,f);否则Y1(t,f)=0;同时,计算每个时频点上语音的掩码值mask ,即:
计算每个时频点上某个说话人语音幅度占混合语音幅度的比例,具体可采用公式
计算。与此同时,记录每个说话人语音片段的身份id,用以训练声纹特征提取模
型。
[0127] 其次,训练模型,先对网络模型和声纹特征提取模型进行单独训练,再以训练好的模型参数作为初始值,联合训练网络模型和声纹特征提取模型;具体如下:
[0128] 1.单独训练网络模型
[0129] 其中,对网络模型进行训练,包括:
[0130] 获取至少两个说话人的第一时频域语音;
[0131] 混合第一时频域语音,以获得第一混合语音;
[0132] 根据第一时频域语音计算第一时频域语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;
[0133] 以第一混合语音和第一标签训练网络模型。
[0134] 网络模型的训练目标是尽可能的在特征向量域将不同说话人(不同声源)的语音分开。
[0135] 以第一特征向量是Embedding向量、第一特征向量类别是Embedding向量类别、网络模型是Embedding模型为例,若Embedding模型输出的D维的Embedding向量可以表示为
,其中,表示网络参数,N表示输入时频点数量,D表示embedding长度。考虑
单位模的embedding表示,即: ,其中,vn={vn,d},vn,d表示第n个
embedding向量的第d维。网络模型期望找到一种embedding表示,即::将每一个时频点n表
示成一个D维的embedding向量,在这个embedding向量中可以通过简单的聚类方法即可将
不同说话人的语音分开,Y={yn,c}表示将第n个时频点分类到第c个类别,即: yn,c=1表示第n
个时频点属于第c个类别(在这里,表示哪一个说话人)。Embedding模型的训练目标即是根
据标签Y={yn,c}去寻找一种embedding向量使得尽可能的分类正确。
[0136] Embedding模型的损失函数 可以表示为:
[0137] (4)
[0138] 其中,V为Embedding向量,Y为归属矩阵,上标T表示矩阵转置。
[0139] 以两个说话人的混合语音分离为例,将两个说话人各自语音分别经过房间冲激响应RIR,分帧之后短时傅里叶变换变换到是时频域,对每个时频点计算各个时频点的能量,
比较两个说话人每个时频点的能量的相对大小,以说话人#1为例,若 ,则归属
矩阵Y对应元素为 ,反之, 。将输入 和 叠加后得到第一混合语
音作为网络输入,以归属矩阵Y作为第一标签,以 作为损失函数训练网络参数。
[0140] 以K个说话人的混合语音分离为例,根据每个说话人的归属矩阵计算得到每个说话人特征向量的聚类中心:
[0141] (5)
[0142] 其中, 为第c个说话人的特征向量的聚类中心, 为网络模型输出的每个时频点(t,f)的特征向量, 为说话人c的每个时频点(t,f)的归属矩阵,即:在时频点(t,f),若
说话人c的能量大于其他说话人,则 ;反之, 。
[0143] 本申请的技术方案通过训练后的网络模型根据输入的混合语音输出聚类结果,根据聚类结果提取每个类别的时频点掩码值mask[,时频点掩码值可采用二进制掩码,则属于
该类别的时频点掩码值为1,非该类别的时频点掩码值设置为0,这样每个类别的时频点数
量等于输入混合音频的时频点数量;时频点掩码值可采用比例掩码,则计算每个时频点上
每个类别的幅度比例,即:
[0144] (6)
[0145] 其中, 为第c个说话人的特征向量的聚类中心, 的c和d两个维度交换后的表示, 是网络模型输出的每个时频点(t,f)的特征向量];将输入混合语音与对应的mask
相乘得到对应类别的语音;将mask后的每个类别的语音输入声纹特征提取模块Speaker 
Encoder,得到每个类别每一帧的声纹特征;考虑到声纹特征的稳定性,利用声纹特征将前
后相邻两帧的类别整合到一起,消除通道模糊,从而将聚类算法从句子级别扩展到帧级别,
实现实时流式处理。
[0146] 2.单独训练声纹特征提取模型
[0147] 对声纹特征提取模型进行训练,包括:
[0148] 获取至少两个说话人的第二时频域语音;
[0149] 根据将第二时频域语音输入到声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;
[0150] 以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练声纹特征提取模型。
[0151] 声纹特征提取模型的目的是尽可能让属于同一个说话人的不同语音特征之间的距离小,尽可能让不同说话人之间的语音特征之间的距离大。在训练声纹特征提取模型以
该目的进行训练。
[0152] 在一个实施方式中,假定有N个说话人,每个说话人有M个语音片段。则,提取每个说话人的每个语音特征 ,其中, 表示第j说话人的第i个语音特征,
馈入声纹特征提取模型(Speaker Encoder)得到声纹特征 ,其中,表示神经网络参
数,则对应说话人特征d‑vector表示为:
[0153] (7)
[0154] 其中,表示第j个说话人的第i个语音片段。则第j个说话人的M个语音片段为:,则特征d‑vector中心可以表示为: 。定义相似矩阵 为每个说话
人的d‑vector eji与所有说话人的 之间的余弦相似度,即:
[0155] (8)
[0156] 其中,和 是网络训练学习的参数。约束 从而保证余弦相似度越大, 的数值越大。
[0157] 网络训练的目的是使得属于相同说话人的不同语音片段之间的相似度尽可能大,与此同时,不同说话人之间的相似度尽可能小。对 使用Softmax函数,使得对所有
,当且仅当 时输出为1,其他情况为0,即定义如下损失函数:
[0158] (9)
[0159] 假定有N=64个说话人,每个说话人有M=10帧说话片段,将每个说话片段送入网络计算输出,按照公式(7)计算每个说话人的说话人特征d‑vector,按照公式(8)计算声纹特
征之间的相似度,最后优化公式(9),使得loss尽可能小。
[0160] 3.联合训练训练网络模型和声纹特征提取模型
[0161] 其中,联合训练网络模型和声纹特征提取模型,包括:
[0162] 加载单独训练网络模型得到的第一网络参数,加载单独训练声纹特征提取模型得到的第二网络参数;
[0163] 获取至少两个说话人的第三时频域语音,混合第三时频域语音得到第二混合语音;
[0164] 将第二混合语音输入网络模型,获得第二特征向量,第二特征向量包括所述第二混合语音的每个时频点的特征向量;
[0165] 对第二特征向量作聚类处理,得到第二特征向量类别;
[0166] 确定每个第二特征向量类别对应的时频点掩码值;
[0167] 计算第二混合语音与相应时频点掩码值的乘积,以获得第二特征向量类别对应的语音;
[0168] 将第二特征向量类别对应的语音输入声纹特征提取模型,以获得声纹特征;
[0169] 根据第二混合语音的声纹特征与第二特征向量,以联合损失函数最小为训练目标,训练网络模型和声纹特征提取模型,其中,联合损失函数为网络模型的损失函数与声纹
特征提取模型的损失函数的加权和函数。
[0170] 具体的,根据所述第二混合语音的声纹特征与所述第二特征向量联合训练网络模型和声纹特征提取模型时,第二混合语音的声纹特征与所述第二特征向量至少包括连续两
帧语音帧的第二特征向量与声纹特征。
[0171] 以两个说话人的分离、特征向量是Embedding向量、特征向量类别是Embedding向量类别、以及网络模型是Embedding模型为例,将以上Embedding模型和声纹特征提取模型
训练得到的网络参数作为Embedding模型和声纹特征提取模型的初始参数,将说话人#1的
音频 和说话人#2的音频 混合后作为Embedding模型的输入,将Embedding模型输
出的embedding向量进行K=2的聚类得到两个聚类中心,按照公式(6)计算每个说话人的
mask,将得到的mask与输入混合语音相乘,结果输入到声纹特征网络模型Speaker 
Encoder,提取对应的声纹特征;如此计算,得到连续M帧的embedding向量和声纹特征,使用
公式(10)计算总的损失函数,Loss‑total.,迭代训练网络使得 最小。
[0172] 损失函数 表示为:
[0173] (10)
[0174] 其中, 表示 Embedding模型的损失函数, 表示声纹特征网络模型Speaker Encoder的损失函数,公式10中的α为预设的权重。
[0175] 参见图6,本申请实施例还公开了一种语音分离装置,包括:
[0176] 获取模块601,用于获取待处理语音帧;
[0177] 特征向量生成模块602,用于生成待处理语音帧的第一特征向量,所述第一特征向量包括所述待处理语音帧的每个时频点的特征向量;
[0178] 聚类模块603,用于对第一特征向量作聚类处理以获得第一特征向量类别;
[0179] 声纹特征提取模块604,用于提取每个第一特征向量类别对应的声纹特征;
[0180] 语音输出模块605,用于根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,输出通道分离后的语音。
[0181] 语音输出模块605中可包含通道跟踪模型,通道跟踪模型根据相邻两帧第一特征向量类别对应的声纹特征,确定相邻帧声纹特征相似度最高或者声纹特征距离最短的第一
特征向量类别组合,并根据声纹特征相似度最高或者声纹特征距离最短的第一特征向量类
别组合,拼接通道。
[0182] 本实施例的语音分离装置的原理和效果可以参考本申请实施例公开的语音分离方法。
[0183] 在一个可选实施例方式中,特征向量生成模块,特征向量生成模块在用于生成所述待处理语音帧的第一特征向量时,具体用于:根据预先训练的网络模型生成待处理语音
帧的第一特征向量;
[0184] 语音分离装置包括第一训练模块;
[0185] 第一训练模块,用于:
[0186] 获取至少两个说话人的第一时频域语音;
[0187] 混合第一时频域语音,以获得第一混合语音;
[0188] 根据第一时频域语音判断第一时频域语音中每个时频点的说话人之间的能量的相对大小,以获得每个时频点的每个说话人的第一标签;
[0189] 以第一混合语音和第一标签训练网络模型。
[0190] 在一个可选实施例方式中,聚类模块,用于利用K均值聚类模型对所述第一特征向量作聚类处理以获得第一特征向量类别
[0191] 在一个可选实施例方式中,声纹特征提取模块在用于提取每个所述第一特征向量类别对应的声纹特征时,具体用于:
[0192] 确定待处理语音帧的每个第一特征向量类别对应的时频点掩码值;
[0193] 根据待处理语音帧与相应时频点掩码值的乘积,以获得第一特征向量类别对应的语音;
[0194] 将第一特征向量类别对应的语音输入预先训练的声纹特征提取模型,以获得第一特征向量类别对应的声纹特征。
[0195] 在一个可选实施例方式中,语音分离装置包括第二训练模块,第二训练模块用于:
[0196] 获取至少两个说话人的第二时频域语音;
[0197] 根据将第二时频域语音输入到声纹特征提取模型后所得到的声纹特征,计算两两说话人之间的声纹特征相似度;
[0198] 以相同说话人之间的声纹特征相似度最大以及不同说话人之间的声纹特征相似度最小为训练目标,训练声纹特征提取模型。
[0199] 在一个可选实施例方式中,语音分离装置包括第三训练模块,第三训练模块用于:
[0200] 加载单独训练网络模型得到的第一网络参数,加载单独训练声纹特征提取模型得到的第二网络参数;
[0201] 获取至少两个说话人的第三时频域语音,混合第三时频域语音得到第二混合语音;
[0202] 将第二混合语音输入网络模型,获得第二特征向量,所述第二特征向量包括所述第二混合语音的每个时频点的特征向量;
[0203] 对第二特征向量作聚类处理,得到第二特征向量类别;
[0204] 确定每个第二特征向量类别对应的时频点掩码值;
[0205] 计算第二混合语音与相应时频点掩码值的乘积,以获得特征向量类别对应的语音;
[0206] 将第二特征向量类别对应的语音输入声纹特征提取模型,以获得声纹特征;
[0207] 根据第二混合语音的特征向量与声纹特征,以联合损失函数最小为训练目标,训练网络模型和声纹特征提取模型,其中,联合损失函数为网络模型的损失函数与声纹特征
提取模型的损失函数的加权和函数。
[0208] 在一个可选实施例方式中,语音输出模块包括平滑处理模块;
[0209] 平滑处理模块,用于:
[0210] 根据相邻待处理语音帧的声纹特征相似度最高或者声纹特征距离最短的第一特征向量类别组合,确定相同声源的特征向量类别组,对特征向量类别组的声纹特征做平滑
处理。
[0211] 在一个可选实施例方式中,第一特征向量可以embedding向量。
[0212] 本实施例的原理效果以及其他可选实施方式可以参考上述一种语音分离方法的技术方案。
[0213] 参见图7,一种电子设备700,包括处理器701和存储器702,存储器702用于存储计算机指令,计算机指令被处理器701执行以实现本申请实施例中任一的语音分离方法。
[0214] 本申请还提供了一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现本申请实施例中任一的语音分离方法。
[0215] 图8为适于用来实现根据本申请一实施方式的一种语音分离方法的计算机系统的结构示意图。
[0216] 参见图8,计算机系统包括处理单元801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行上述附图所
示的实施方式中的各种处理。在RAM803中,还存储有系统操作所需的各种程序和数据。处理
单元801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线
804。
[0217] 以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;
以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因
特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如
磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出
的计算机程序根据需要被安装入存储部分808。其中,处理单元801可实现为CPU、GPU、TPU、
FPGA、NPU等处理单元。
[0218] 特别地,根据本申请的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本申请的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上
的计算机程序,计算机程序包含用于执行附图中的方法的程序代码。在这样的实施方式中,
该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安
装。
[0219] 附图中的流程图和框图,图示了按照本申请各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以
代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于
实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注
的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可
以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意
的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行
规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的
组合来实现。
[0220] 在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、
结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上
述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、
结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,
在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或
示例以及不同实施例/方式或示例的特征进行结合和组合。
[0221] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0222] 本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本申请,而并非是对本申请的范围进行限定。对于所属领域的技术人员而言,在上述申请的基础上还可
以做出其它变化或变型,并且这些变化或变型仍处于本申请的范围内。