一种基于数据生成的小样本语音分离方法技术

技术编号:37548471 阅读:15 留言:0更新日期:2023-05-12 16:25
本发明专利技术涉及一种基于数据生成的小样本语音分离方法,属于语音分离领域,包括以下步骤:S1:采集并构建待分离语音数据集和目标说话人干净语音数据集;S2:对数据集进行预处理;S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;S4:利用基于GAN的包含多个目标说话人的语音生成模型扩充待分离语音段;S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。的完整语音。的完整语音。

【技术实现步骤摘要】
一种基于数据生成的小样本语音分离方法


[0001]本专利技术属于语音分离领域,涉及一种基于数据生成的小样本语音分离方法。

技术介绍

[0002]语音分离问题源于著名的“鸡尾酒会效应”,即在复杂的混合声音中,人类能有效得选择并跟踪某一说话人的声音。语音分离的研究在语音通信、声学目标检测、声音信号增强等方面有着重要的理论意义和实际价值。语音分离大致可以分成两个方向:第一,在语音信号中进行多个声源之间的分离;第二,在语音信号中进行单一声源与噪声等干扰的分离。多个声源之间的分离由于考虑的因素更多,一直是语音分离领域的难题,当前多个声源之间的分离还存在着以下问题:
[0003](1)用于分离模型训练的语音样本过少。当我们想分离特定说话人的语音时,我们很难收集到较多的该目标说话人的语音,所以对模型的训练造成了影响,模型很难学习到完整的目标说话人的语音特征。
[0004](2)多个目标说话人的语音分离困难。只分离得到一个目标说话人是容易实现的,只需要把除该说话人以外的所有声音归为噪声即可,但如果需要分离得到多个目标说话人的语音,上述方法效果较差。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种基于数据生成的小样本语音分离方法。
[0006]为达到上述目的,本专利技术提供如下技术方案:
[0007]一种基于数据生成的小样本语音分离方法,包括以下步骤:
[0008]S1:采集多段待分离语音数据和目标说话人干净语音数据,分别构建待分离语音数据集和目标说话人干净语音小样本数据集;
[0009]S2:对待分离语音数据集和目标说话人干净语音数据集进行预处理;
[0010]S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;
[0011]S4:利用基于GAN的包含多个目标说话人的语音生成模型,对包含多个目标说话人的待分离语音数据进行处理,扩充待分离语音段数据集;
[0012]S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。
[0013]进一步,步骤S1具体包括以下步骤:采集数据时,利用录音设备对说话人及所在的真实场景进行录音,得到待分离语音数据集V0={v1,v2,

v
i


,v
n
}i∈[1,n],其中n表示待分离语音数据集中语音段的总数,v
i
表示第i段待分离语音,每段待分离语音时长为Time分钟;收集所有目标说话人在无噪声干扰下的干净语音信号得到目标说话人干净语音小样本数据集Clean={c1,c2,

c
i


,c
m
}j∈[1,m],其中m表示目标说话人的个数,c
j
表示第j个目
标说话人的干净语音,每一段干净语音时长为Time分钟。
[0014]进一步,步骤S2所述预处理包括:
[0015]S21:利用结合短时能量和过零率的阈值法对采集到的待分离语音进行端点检测,去除空白语音部分;
[0016]S22:通过基于频域掩码的深度学习模型对步骤S21得到的待分离语音段进行降噪处理。
[0017]进一步,步骤S3具体包括以下步骤:
[0018]S31:将待分离语音段和目标说话人干净语音均分为p帧,提取每一帧待分离语音梅尔频谱特征X
a
={x
11
,x
12


,x
1k


,x
1p


,x
lk


,x
np
},其中x
lk
表示从第l段待分离语音的第k帧提取得到的特征向量,l∈[1,n],k∈[1,p];提取每一帧目标说话人干净语音的梅尔频谱特征Y
b
={y
11
,y
12


,y
1k


,y
1p


,y
jk


,y
mp
},其中y
jk
表示第j个目标说话人干净语音的第k帧提取得到的特征向量;
[0019]S32:构建基于LSTM的语音匹配模型,将梅尔频谱特征X
a
与Y
b
分别按照每段待分离语音的每一帧语音特征为一行,从上至下按帧顺序依次排列;每段目标说话人的每一帧干净语音特征为一行,从上至下按帧顺序依次排列,组成batch,batch中的梅尔频谱特征通过三层LSTM得到包含输入语音特征的特征向量,在最后一层LSTM后接一层线性映射层,将最后一层LSTM的输出映射为一个低维的embedding特征向量;然后求取待分离语音的每一帧的embedding特征向量与每一个目标说话人干净语音的中心向量的embedding特征的相似度,得到相似度矩阵,维度为n
×
pm,取相似度矩阵中所有元素的平均值作为阈值,用于识别该段待分离语音中正在说话的目标说话人;
[0020]S33:将待分离语音段分为不含目标说话人、包含一个目标说话人、包含多个目标说话人的语音段;用一个维度为n
×
p的说话矩阵记录相似度矩阵中每一帧正在说话的目标说话人个数;根据说话矩阵的统计结果,筛选出每段待分离语音当前说话人人数等于0、1和大于等于2的语音帧,只保留当前目标说话人人数大于等于2的语音帧,并将保留的语音帧进行合并,得到该段待分离语音的多个目标说话人的语音段M={M1,M2,

,M
n
},对其进一步语音分离。
[0021]进一步,在所述步骤S32中,具体包括以下步骤:
[0022]S321:待分离语音batch由n
×
p个梅尔频谱特征组成,其中有段待分离语音,每段被分为p帧,每帧的特征与X
a
内的特征元素对应;
[0023]说话人干净语音batch由m
×
p个梅尔频谱特征向量组成,其中有m段目标说话人干净语音,每段被分为p帧,每帧的特征与Y
b
内的特征元素对应;
[0024]S322:X
a
经过三层LSTM处理后得到每一帧语音的特征向量,最后使用线性映射层来降低特征向量的维度,结果为f(x
lk
;W),其中x
lk
为第l段待分离语音的第k帧的语音信号,f是最后一层LSTM后线性映射函数,W为该函数的参数,使用一维向量表示;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于数据生成的小样本语音分离方法,其特征在于:包括以下步骤:S1:采集多段待分离语音数据和目标说话人干净语音数据,分别构建待分离语音数据集和目标说话人干净语音小样本数据集;S2:对待分离语音数据集和目标说话人干净语音数据集进行预处理;S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;S4:利用基于GAN的包含多个目标说话人的语音生成模型,对包含多个目标说话人的待分离语音数据进行处理,扩充待分离语音段数据集;S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。2.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S1具体包括以下步骤:采集数据时,利用录音设备对说话人及所在的真实场景进行录音,得到待分离语音数据集V0={v1,v2,...,v
i
,...,v
n
}i∈[1,n],其中n表示待分离语音数据集中语音段的总数,v
i
表示第i段待分离语音,每段待分离语音时长为Time分钟;收集所有目标说话人在无噪声干扰下的干净语音信号得到目标说话人干净语音小样本数据集Clean={c1,c2,...,c
j
,...,c
m
}j∈[1,m],其中m表示目标说话人的个数,c
j
表示第j个目标说话人的干净语音,每一段干净语音时长为Time分钟。3.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S2所述预处理包括:S21:利用结合短时能量和过零率的阈值法对采集到的待分离语音进行端点检测,去除空白语音部分;S22:通过基于频域掩码的深度学习模型对步骤S21得到的待分离语音段进行降噪处理。4.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S3具体包括以下步骤:S31:将待分离语音段和目标说话人干净语音均分为p帧,提取每一帧待分离语音梅尔频谱特征X
a
={x
11
,x
12
,...,x
1k
,...,x
1p
,...x
lk
,...,x
np
},其中x
lk
表示从第l段待分离语音的第k帧提取得到的特征向量,l∈[1,n],k∈[1,p];提取每一帧目标说话人干净语音的梅尔频谱特征Y
b
={y
11
,y
12
,...,y
1k
,...,y
1p
,...y
jk
,...,y
mp
},其中y
jk
表示第j个目标说话人干净语音的第k帧提取得到的特征向量;S32:构建基于LSTM的语音匹配模型,将梅尔频谱特征X
a
与Y
b
分别按照每段待分离语音的每一帧语音特征为一行,从上至下按帧顺序依次排列;每段目标说话人的每一帧干净语音特征为一行,从上至下按帧顺序依次排列,组成batch,batch中的梅尔频谱特征通过三层LSTM得到包含输入语音特征的特征向量,在最后一层LSTM后接一层线性映射层,将最后一层LSTM的输出映射为一个低维的embedding特征向量;然后求取待分离语音的每一帧的embedding特征向量与每一个目标说话人干净语音的中心向量的embedding特征的相似度,得到相似度矩阵,维度为n
×
pm,取相似度矩阵中所有元素的平均值作为阈值,用于识别该段待分离语音中正在说话的目标说话人;
S33:将待分离语音段分为不含目标说话人、包含一个目标说话人、包含多个目标说话人的语音段;用一个维度为n
×
p的说话矩阵记录相似度矩阵中每一帧正在说话的目标说话人个数;根据说话矩阵的统计结果,筛选出每段待分离语音当前说话人人数等于0、1和大于等于2的语音帧,只保留当前目标说话人人数大于等于2的语音帧,并将保留的语音帧进行合并,得到该段待分离语音的多个目标说话人的语音段M={M1,M2,...,M
n
},对其进一步语音分离。5.根据权利要求4所述的基于数据生成的小样本语音分离方法,其特征在于:在所述步骤S32中,具体包括以下步骤:S321:待分离语音batch由n
×
p个梅尔频谱特征组成,其中有n段待分离语音,每段被分为p帧,每帧的特征与X
a
内的特征元素对应;说话人干净语音batch由m
×
p个梅尔频谱特征向量组成,其中有m段目标说话人干净语音,每段被分为p帧,每帧的特征与Y
b
内的特征元素对应;S322:X
a
经过三层LSTM处理后得到每一帧语音的特征向量,最后使用线性映射层来降低特征向量的维度,结果为f(x
lk
;W),其中x
lk
为第l段待分离语音的第k帧的语音信号,f是最后一层LSTM后线性映射函数,W为该函数的参数,使用一维向量表示;S323:将embedding特征向量定义为f(x
lk
;W)的L2范数归一化,将其中第l段待分离语音的第k帧的embedding特征向量表示为e
l,k
:其中||f(x
lk
;W)||2为模型输出f(x
lk
;W)的L2范数;S324:Y
b
经过模型处理得到目标说话人干净语音的embedding特征向量e
j,k
,表示第j个目标说话人,第k帧干净语音的embedding特征向量;对p帧的干净语音信号的embedding特征向量求平均得到该说话人中心特征向量Centre
j
,表示第j个目标说话人干净语音信号的中心特征向量...

【专利技术属性】
技术研发人员:钱鹰王毅峰刘歆姜美兰陈奉漆益曾奎
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1