CN116092512A - 一种基于数据生成的小样本语音分离方法 - Google Patents
一种基于数据生成的小样本语音分离方法 Download PDFInfo
- Publication number
- CN116092512A CN116092512A CN202211740126.3A CN202211740126A CN116092512A CN 116092512 A CN116092512 A CN 116092512A CN 202211740126 A CN202211740126 A CN 202211740126A CN 116092512 A CN116092512 A CN 116092512A
- Authority
- CN
- China
- Prior art keywords
- voice
- separated
- target
- speech
- speaker
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/18—Artificial neural networks; Connectionist approaches
Abstract
本发明涉及一种基于数据生成的小样本语音分离方法,属于语音分离领域,包括以下步骤:S1:采集并构建待分离语音数据集和目标说话人干净语音数据集;S2:对数据集进行预处理;S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;S4:利用基于GAN的包含多个目标说话人的语音生成模型扩充待分离语音段;S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。
Description
技术领域
本发明属于语音分离领域,涉及一种基于数据生成的小样本语音分离方法。
背景技术
语音分离问题源于著名的“鸡尾酒会效应”,即在复杂的混合声音中,人类能有效得选择并跟踪某一说话人的声音。语音分离的研究在语音通信、声学目标检测、声音信号增强等方面有着重要的理论意义和实际价值。语音分离大致可以分成两个方向:第一,在语音信号中进行多个声源之间的分离;第二,在语音信号中进行单一声源与噪声等干扰的分离。多个声源之间的分离由于考虑的因素更多,一直是语音分离领域的难题,当前多个声源之间的分离还存在着以下问题:
(1)用于分离模型训练的语音样本过少。当我们想分离特定说话人的语音时,我们很难收集到较多的该目标说话人的语音,所以对模型的训练造成了影响,模型很难学习到完整的目标说话人的语音特征。
(2)多个目标说话人的语音分离困难。只分离得到一个目标说话人是容易实现的,只需要把除该说话人以外的所有声音归为噪声即可,但如果需要分离得到多个目标说话人的语音,上述方法效果较差。
发明内容
有鉴于此,本发明的目的在于提供一种基于数据生成的小样本语音分离方法。
为达到上述目的,本发明提供如下技术方案:
一种基于数据生成的小样本语音分离方法,包括以下步骤:
S1:采集多段待分离语音数据和目标说话人干净语音数据,分别构建待分离语音数据集和目标说话人干净语音小样本数据集;
S2:对待分离语音数据集和目标说话人干净语音数据集进行预处理;
S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;
S4:利用基于GAN的包含多个目标说话人的语音生成模型,对包含多个目标说话人的待分离语音数据进行处理,扩充待分离语音段数据集;
S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。
进一步,步骤S1具体包括以下步骤:采集数据时,利用录音设备对说话人及所在的真实场景进行录音,得到待分离语音数据集V0={v1,v2,…vi,…,vn}i∈[1,n],其中n表示待分离语音数据集中语音段的总数,vi表示第i段待分离语音,每段待分离语音时长为Time分钟;收集所有目标说话人在无噪声干扰下的干净语音信号得到目标说话人干净语音小样本数据集Clean={c1,c2,…ci,…,cm}j∈[1,m],其中m表示目标说话人的个数,cj表示第j个目标说话人的干净语音,每一段干净语音时长为Time分钟。
进一步,步骤S2所述预处理包括:
S21:利用结合短时能量和过零率的阈值法对采集到的待分离语音进行端点检测,去除空白语音部分;
S22:通过基于频域掩码的深度学习模型对步骤S21得到的待分离语音段进行降噪处理。
进一步,步骤S3具体包括以下步骤:
S31:将待分离语音段和目标说话人干净语音均分为p帧,提取每一帧待分离语音梅尔频谱特征Xa={x11,x12,…,x1k,…,x1p,…,xlk,…,xnp},其中xlk表示从第l段待分离语音的第k帧提取得到的特征向量,l∈[1,n],k∈[1,p];提取每一帧目标说话人干净语音的梅尔频谱特征Yb={y11,y12,…,y1k,…,y1p,…,yjk,…,ymp},其中yjk表示第j个目标说话人干净语音的第k帧提取得到的特征向量;
S32:构建基于LSTM的语音匹配模型,将梅尔频谱特征Xa与Yb分别按照每段待分离语音的每一帧语音特征为一行,从上至下按帧顺序依次排列;每段目标说话人的每一帧干净语音特征为一行,从上至下按帧顺序依次排列,组成batch,batch中的梅尔频谱特征通过三层LSTM得到包含输入语音特征的特征向量,在最后一层LSTM后接一层线性映射层,将最后一层LSTM的输出映射为一个低维的embedding特征向量;然后求取待分离语音的每一帧的embedding特征向量与每一个目标说话人干净语音的中心向量的embedding特征的相似度,得到相似度矩阵,维度为n×pm,取相似度矩阵中所有元素的平均值作为阈值,用于识别该段待分离语音中正在说话的目标说话人;
S33:将待分离语音段分为不含目标说话人、包含一个目标说话人、包含多个目标说话人的语音段;用一个维度为n×p的说话矩阵记录相似度矩阵中每一帧正在说话的目标说话人个数;根据说话矩阵的统计结果,筛选出每段待分离语音当前说话人人数等于0、1和大于等于2的语音帧,只保留当前目标说话人人数大于等于2的语音帧,并将保留的语音帧进行合并,得到该段待分离语音的多个目标说话人的语音段M={M1,M2,…,Mn},对其进一步语音分离。
进一步,在所述步骤S32中,具体包括以下步骤:
S321:待分离语音batch由n×p个梅尔频谱特征组成,其中有段待分离语音,每段被分为p帧,每帧的特征与Xa内的特征元素对应;
说话人干净语音batch由m×p个梅尔频谱特征向量组成,其中有m段目标说话人干净语音,每段被分为p帧,每帧的特征与Yb内的特征元素对应;
S322:Xa经过三层LSTM处理后得到每一帧语音的特征向量,最后使用线性映射层来降低特征向量的维度,结果为f(xlk;W),其中xlk为第l段待分离语音的第k帧的语音信号,f是最后一层LSTM后线性映射函数,W为该函数的参数,使用一维向量表示;
S323:将embedding特征向量定义为f(xlk;W)的L2范数归一化,将其中第l段待分离语音的第k帧的embedding特征向量表示为el,k:
其中||f(xlk;W)||2为模型输出f(xlk;W)的L2范数;
S324:Yb经过模型处理得到目标说话人干净语音的embedding特征向量ej,k,表示第j个目标说话人,第k帧干净语音的embedding特征向量;对p帧的干净语音信号的embedding特征向量求平均得到该说话人中心特征向量Centrej,表示第j个目标说话人干净语音信号的中心特征向量:
S325:计算每个由Xa得到的el,k与每个目标说话人干净语音中心特征向量Centrej的余弦相似度Sl,k,j:
Sl,k,j=w·cos(el,k,Centrej)+b
其中w和b分别是神经网络可以学习的权值和偏置,计算结果将组成维度为n×pm的相似度矩阵;
S326:计算相似度矩阵中所有元素的平均值,并将其设置为说话人判定阈值,当矩阵元素值大于等于阈值时,将帧设为1,判定对应的目标说话人在该帧正在说话;反之,设为0,判定该说话人在该帧没有说话。
进一步,步骤S326所述计算每个由Xa得到的el,k与每个目标说话人干净语音中心特征向量Centrej的余弦相似度Sl,k,j,具体过程如下:
由Xa得到的e1,1与Centre1计算余弦相似度,将计算结果作为相似度矩阵的第一个元素,该行元素为e1,1与所有Centre的余弦相似度计算结果;下一行为e1,2与所有Centre的余弦相似度计算结果,以此类推,一直计算到e1,p与所有Centre的余弦相似度结果;
接下来计算e2,1与所有Centre的余弦相似度,将计算结果作为相似度矩阵的第p+1行的第一个元素,该行元素为e2,1与所有Centre的余弦相似度计算结果;以此类推,一直计算到en,p与所有Centre的余弦相似度,得到维度为n×pm的相似度矩阵。
进一步,步骤S4具体包括以下步骤:
S41:对包含多个目标说话人的待分离语音段M提取梅尔频谱特征H={h1,h2,…,hv,…hn},hv表示第v段待分离语音,v∈[1,n];
S42:构建基于GAN的语音生成模型,由生成器与判别器组成;
将包含多个目标说话人语音的梅尔频谱特征H作为生成器的输入,经过一层卷积层后送入上采样网络块;每个上采样网络块中嵌套残差块,最后经过一层卷积层得到输入特征对应的语音信号输出;
判别器采用多尺度架构,用于对原始音频做判别,还对原始音频采用平均池化的方式进行降频处理后再输入到下一个判别器进行判别;将生成器生成的语音信号和原始语音信号输入判别器D,经过一层卷积层后送入下采样网络块,下采样网络块有4个,最后经过两层卷积层得到判别结果;不断训练生成器和判别器,最后得到可以生成多个目标说话人语音的语音生成模型;
S43:将需要扩充待分离语音段M放入训练得到的语音生成模型,得到n段生成的包含多个目标说话人的待分离语音,与原始待分离语音合并得到新的待分离语音段Data={data1,data2,…,datan,…data2n}。
进一步,所述生成器的上采样网络块有四个,依次为8x,8x,2x,2x,在每层上采样后加入带有空洞卷积的残差块Residual Stack,每个残差块有三层,每一层的膨胀系数为1,3,9;生成器通过四层上采样和卷积,把含有多个目标说话人的一维特征H,处理为包含多个目标说话人的语音信号;
所述判别器由三个子判别器D1,D2,D3组成,子判别器具有相同的网络结构,三个子判别器在不同的采样频率上进行,D1的输入为正常采样频率的语音,D2的输入为下采样一次得到的语音,D3的输入为下采样两次得到的语音。
进一步,步骤S5具体包括以下步骤:
S51:通过Praat生成静音段的语音信号,拼接到包含多个目标说话人的待分离语音信号的尾部,使所有包含多个目标说话人的待分离语音时长相等;
S52:构建基于TCN的语音分离模型,由编码器、分离器、解码器构成;
编码器通过一个1*1的卷积对输入的包含多个目标说话人的待分离语音的波形进行特征提取,将语音波形转变为一个特征矩阵;
分离器将编码器得到的特征矩阵放进基于TCN的时间卷积网络中,学习得到每个说话人的特征矩阵,使用一个1*1的卷积,先进行扩大通道数,对不同说话人进行不同通道维度的区分,然后分成对应说话人的特征矩阵;
将分离器得到的特征矩阵放入解码器,逆变换得到对应的语音信号,实现多个目标说话人的分离;
S53:将步骤S3每段待分离语音匹配的目标说话人的干净语音进行融合,得到包含多个目标说话人的语音,从而获得分离模型的训练语音数据;根据信噪评估值对语音分离模型进行迭代训练,在信噪评估值达到最大值时,确定语音分离模型训练完成,得到训练好的语音分离模型;
S54:将包含多个目标说话人的待分离语音波形放入训练好的语音分离模型中,输出多个包含单一说话人的语音信号,实现多个目标说话人的语音分离。
进一步,步骤S52中,编码器的输入是多个目标说话人待分离语音在时域上的波形,波形是一个维度为I的一维向量,I=Time*p,编码器通过一个一维卷积Conv1D(1,256,20,stride=10,padding=0)将一维向量变成一个256×P的二维特征矩阵,其中P=(I-20)/10+1;
在分离器中,将得到的256×P的特征矩阵输入到经过一个堆叠的CNN网络组成的TCN时间卷积网络中,通过学习得到每个说话人的特征矩阵,又使用卷积扩大通道数,接着对不同说话人进行不同通道维度的区分,然后根据说话人个数分成多份;
最后将分离器学习得到的不同说话人的特征矩阵放入解码器进行解码,得到对应说话人的语音波形,将256×P的特征矩阵转变为和输入尺度相同的I的一维向量。
本发明的有益效果在于:本发明针对直接对整段音频数据进行语音分离时,对模型性能要求高且训练所需时间长的问题,在待分离语音输入到语音分离模型之前,对待分离语音进行了帧级别的语音匹配,将待分离语音分为不含说话人的语音、只包含一个说话人的语音、包含多个说话人的语音。先分离出不含说话人和只包含一个说话人的语音,只对包含多个说话人的待分离语音进行进一步的语音分离,从而节省了性能与时间。同时,模型训练时常出现已有的语音数据不足,不能提供足够的数据给模型,使模型学习到不同说话人的语音特征不完整的问题。本发明对包含多个目标说话人的语音数据进行了扩充,使得语音分离模型能学习到当有多个目标说话人说话时,每个目标说话人各自的语音特征,从而更好地实现语音分离。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1本发明所述基于数据生成的小样本语音分离方法的整体流程示意图;
图2本发明所述的语音匹配模型结构图;
图3本发明所述生成多个目标说话人语音的语音生成模型结构图;
图4本发明所述分离多个目标说话人的语音分离模型结构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
本发明提出了一种在多人对话场景下分离出目标人语音的语音分离方法。该方法实施的流程图1所示。本发明包括如下步骤:
S1:采集n段待分离语音数据和m个目标说话人干净语音数据,将采集到每一段语音分别构建待分离语音数据集和目标说话人干净语音小样本数据集。具体内容如下:
采集数据时,利用录音设备对说话人及所在的真实场景进行录音,得到待分离语音数据集V0={v1,v2,…vi,…,vn}i∈[1,n],其中n表示待分离语音数据集中语音段的总数,vi表示第i段待分离语音,每段待分离语音时长为1分钟。收集所有目标说话人在无噪声干扰下的干净语音信号得到目标说话人干净语音小样本数据集Clean={c1,c2,…ci,…,cm}j∈[1,m]j∈[1,m],其中m表示目标说话人的个数,cj表示第j个目标说话人的干净语音,每一段干净语音时长为1分钟。本例取m=10,即干净语音小样本数据集中包含有10个目标说话人的干净语音。
S2:对待分离语音数据集和目标说话人干净语音数据集进行预处理。利用深度学习模型对待分离语音数据集进行端点检测、降噪处理。具体内容如下:
S21:利用结合短时能量和过零率的阈值法对S11中采集到的待分离语音进行端点检测,去除空白语音部分。
S22:通过基于频域掩码的深度学习模型(如RNNoise)对S21得到的待分离语音段进行降噪处理。
所述S21中,具体内容如下:
S211:计算待分离语音信号的短时能量和短时平均过零率,并计算得到能量和过零率的比值(能零比),短时能量与过零率的计算公式如下:
其中E为短时能量值,S(y)为语音信号,i为帧数,y为语音信号的采样点数,Y为窗长。
其中Z为过零率,sgn[]为判定符号的函数,定义如下:
根据计算结果绘制能零比曲线,横轴为时间,纵轴为能零比。
S212:根据语音能零比曲线选取一个较低的阈值D,本例取D=15,语音信号的能零比大部分在此阈值之上。分别找到能零比曲线和阈值D所有交点,相邻两交点之间的即为检测出的语音段。
S213:阈值的确定需根据待分离语音信号的特点来确定并调整。语音起始段的能量变化特点也不相同,起始时变化幅度较大,结束时变化较缓慢。所以在判定最终起始点前,还需要采集前后10帧并计算其短时能量和平均过零率,作为判定起始点的依据。
所述S22中,具体内容如下:
S221:带噪语音信号经过短时傅里叶变换,将语音信号从时域转换为频域特征。
S222:频域信号特征输入到深度学习预测模型,模型对频域上每一个频谱的频点都乘以一个小于等于1的系数来达到抑制噪声的效果。模型根据频点的能量变化学习得到每个频点需要乘以的系数,最后模型预测并输出该语音段的频域掩码。
S223:频域信号乘以频域掩码,得到降噪后的频域信号。
S224:降噪后的频域信号通过逆短时傅里叶变换得到时域下的降噪后的语音信号。
S3:利用基于LSTM的深度学习模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,判断该段待分离语音中含有目标说话人的个数,将语音段分为三类,分别为不含目标说话人、只包含一个目标说话人、包含多个目标说话人,并继续对包含多个目标说话人的语音段进行语音分离。具体内容如下:
S31:对待分离语音和目标说话人干净语音进行分帧,均分为p=600帧。提取每一帧待分离语音梅尔频谱特征Xa={x11,x12,…,x1k,…,x1p,…,xlk,…,xnp},其中xlk表示从第l段待分离语音的第k帧提取得到的特征向量。同理,提取每一帧目标说话人干净语音的特征Yb={y11,y12,…,y1k,…,y1p,…,yjk,…,ymp},其中yjk表示从第j个目标说话人干净语音的第k帧提取得到的特征向量。
S32:构建基于LSTM的语音匹配模型。将S31处理得到包含多个目标说话人和目标说话人干净语音的梅尔频谱特征Xa与Yb按照图2的顺序,按照每段待分离语音的每一帧语音特征为一行,从上至下按帧顺序依次排列;每段目标说话人的每一帧干净语音特征为一行,从上至下按帧顺序依次排列,组成batch,batch中的梅尔频谱特征通过三层LSTM得到包含输入语音特征的特征向量,在最后一层LSTM后接一层线性映射层,将最后一层LSTM的输出映射为一个低维的embedding特征向量。然后求取待分离语音的每一帧的embedding特征向量与每一个目标说话人干净语音的中心向量的embedding特征的相似度,得到相似度矩阵,维度为n×pm,取相似度矩阵中所有元素的平均值作为阈值,用于识别该段待分离语音中正在说话的目标说话人。
待分离语音btach由n×p个梅尔频谱特征向量组成,其中有n段待分离语音,每段被分为p帧,每帧的特征与Xa对应。说话人干净语音batch由m×p个梅尔频谱特征向量组成,其中有m段目标说话人干净语音,每段被分为p帧,每帧的特征与Yb对应。Xa经过三层LSTM处理后得到每一帧语音的特征向量,最后使用线性映射层来降低特征向量的维度。整个网络的输出为f(xlk;W),其中xlk为第l段待分离语音的第k帧的语音信号,f是最后一层LSTM后线性映射函数,W为该函数的参数,使用一维向量表示。将embedding特征向量定义为网络输出的L2范数归一化,将其中第l段待分离语音的第k帧的embedding特征向量表示为el,k,||f(xlk;W)||2为模型输出f(xlk;W)的L2范数。同理,Yb经过上述模型处理得到目标说话人干净语音的embedding特征向量ej,k,表示第j个目标说话人,第k帧干净语音的embedding特征向量。对p帧的干净语音信号的embedding特征向量求平均得到该说话人中心特征向量Centrej,表示第j个目标说话人干净语音信号的中心特征向量,计算每个由Xa得到的el,k与每个目标说话人干净语音中心特征向量Centrej的余弦相似度Sl,k,j,Sl,k,j=w·cos(el,k,Centrej)+b,其中w和b分别是神经网络可以学习的权值和偏置,计算结果将组成维度为n×pm的相似度矩阵。具体过程如下:由Xa得到的e1,1与Centre1计算余弦相似度,将计算结果作为相似度矩阵的第一个元素,该行元素为e1,1与所有Centre的余弦相似度计算结果;下一行为e1,2与所有Centre的余弦相似度计算结果,以此类推,一直计算到e1,p与所有Centre的余弦相似度结果。接下来计算e2,1与所有Centre的余弦相似度,将计算结果作为相似度矩阵的第p+1行的第一个元素,该行元素为e2,1与所有Centre的余弦相似度计算结果;以此类推,一直计算到en,p与所有Centre的余弦相似度,得到维度为n×pm的相似度矩阵。计算相似度矩阵中所有元素的平均值,并将其设置为说话人判定阈值,当阈值大于等于矩阵元素值时,将帧设为1,判定对应的目标说话人在该帧正在说话,反之,设为0,判定该说话人没有说话。
S33:将待分离语音段分为不含目标说话人、包含一个目标说话人、包含多个目标说话人的语音段。用一个维度为n×p的说话矩阵记录相似度矩阵中每一帧正在说话的目标说话人个数,记第1段待分离语音的第1帧与m个说话人的相似度大于阈值的个数为num1,1,作为说话矩阵的第一个元素;第l段待分离语音的第k帧当前说话人数为numl,k,作为说话矩阵第l行的第k个元素;一直统计到第n段待分离语音的第p帧,形成一个维度为n×p的说话矩阵。根据说话矩阵的统计结果,筛选出每段待分离语音当前说话人人数等于0、1和大于等于2的语音帧,只保留当前目标说话人人数大于等于2的语音帧,并将保留的语音帧进行合并,得到该段待分离语音的多个目标说话人的语音段M={M1,M2,…,Mn},对其进一步语音分离。
S4:对包含多个目标说话人的待分离语音数据进行数据扩充。构建并训练基于GAN的包含多个目标说话人的语音生成模型,将需要扩充的包含多个目标说话人的语音数据放入模型,得到生成的包含多个目标说话人的待分离语音。具体的步骤如下:
S41:对需要生成的包含多个目标说话人的待分离语音数据提取梅尔频谱特征H={h1,h2,…,hi,…Mt},hv表示第u段待分离语音,u∈[1,t]。
S42:构建基于GAN的语音生成模型,模型由生成器与判别器组成。将包含多个目标说话人语音的梅尔频谱特征H输入生成器,经过一层Conv层后送到上采样网络块,上采样网络块一共有4个,依次为8x,8x,2x,2x,每个上采样网络块中嵌套残差块以实现频域到时域的转换,每个残差块有三层,dilation依次为1,3,9,最后经过一层conv层得到输入特征对应的语音信号输出。生成器生成的语音信号和原始语音信号放入判别器D进行判别,判别器采用多尺度架构,除了对原始音频做判别,还对原始音频采用平均池化的方式进行降频处理后再输入到下一个判别器进行判别,以达到捕获音频中的高频结果的效果。不断训练生成器和判别器,最后得到可以生成多个目标说话人语音的语音生成模型。
为增强语音在生成过程中的前后时间存在的相关性,在每层上采样后加入带有空洞卷积的残差块Residual Stack,结构如图3所示。该残差块使相距较远的时间步长的感受野中存在较大重叠,从而让生成的多个目标说话人语音具有更好的远程相关性。生成器通过四层上采样和卷积,把含有多个目标说话人的一维特征H,处理为包含多个目标说话人的语音信号。判别器由三个子判别器(D1,D2,D3)组成,子判别器具有相同的网络结构,三个子判别器在不同的采样频率上进行,D1的输入为正常采样频率的语音,D2的输入为下采样一次得到的语音,D3的输入为下采样两次得到的语音,通过分离不同频率,让判别器分别计算不同频率下语音的差异,从而优化训练效果。
S43:将需要扩充待分离语音段M放入S42训练得到的语音生成模型,得到n段生成的包含多个目标说话人的待分离语音,与原始待分离语音合并得到新的待分离语音段Data={data1,data2,…,datan,…data2n}。
S5:构建基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音数据与S4中扩充得到的语音数据放入语音分离模型进行训练,接着将待分离的包含多个目标说话人的语音放入训练好的语音分离模型,最终分离得到只包含一个目标说话人的语音数据。具体的步骤如下:
S51:通过Praat生成静音段的语音信号,拼接到包含多个目标说话人的待分离语音信号的尾部,使所有包含多个目标说话人的待分离语音时长相等。
S52:构建基于TCN的语音分离模型,由编码器、分离器、解码器构成。编码器通过一个1*1的卷积对输入的包含多个目标说话人的待分离语音的波形进行特征提取,将语音波形转变为一个特征矩阵。分离器将编码器得到的特征矩阵放进基于TCN的时间卷积网络中,学习得到每个说话人的特征矩阵,使用一个1*1的卷积,先进行扩大通道数,对不同说话人进行不同通道维度的区分,然后分成对应说话人的特征矩阵。将分离器得到的特征矩阵放入解码器,逆变换得到对应的语音信号,实现多个目标说话人的分离。
编码器的输入是多个目标说话人待分离语音在时域上的语音波形,波形是一个维度为
I=Time*p=1*60*600=36000的一维向量,编码器通过一个一维卷积Conv1D(1,256,20,stride=10,padding=0)将一维向量变成一个1×256×3599的二维特征矩阵,其中3599=(36000-20)/10+1。在分离器中,将得到的1×256×3599的特征矩阵输入到经过如图4所示的一个堆叠的CNN网络(BlockA)组成的TCN时间卷积网络中,网络通过学习得到每个说话人的特征矩阵,又使用了一个1*1的卷积,先进行扩大通道数,将1×256×3599的特征矩阵变为1×512×3599,接着对不同说话人进行不同通道维度的区分,然后根据说话人分成多份,如将1×512×3599分为两个1×256×3599即可以得到两个说话人的特征矩阵。最后将分离器学习得到的不同说话人的特征矩阵放入解码器进行解码,得到对应说话人的语音波形,将1×256×3599的特征矩阵转变为和输入尺度相同的1×36000的一维向量。
S53:训练语音分离模型。将S3每段待分离语音匹配的目标说话人的干净语音进行融合,得到包含多个目标说话人的语音,从而获得分离模型的训练语音数据。根据信噪评估值对分离模型进行迭代训练,在信噪评估值达到最大值时,确定语音分离模型训练完成,得到训练好的语音分离模型。
S54:实现多个目标说话人的语音分离。将包含多个目标说话人的待分离语音波形放入训练好的语音分离模型中,输出多个包含单一说话人的语音信号。最后根据S3中阈值筛选后的相似度矩阵和分离出单一说话人的语音信号,拼接出单一说话人的完整语音。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于数据生成的小样本语音分离方法,其特征在于:包括以下步骤:
S1:采集多段待分离语音数据和目标说话人干净语音数据,分别构建待分离语音数据集和目标说话人干净语音小样本数据集;
S2:对待分离语音数据集和目标说话人干净语音数据集进行预处理;
S3:利用基于LSTM的语音匹配模型对预处理后的待分离语音数据集中的每段语音进行帧级别的目标说话人匹配,根据匹配结果,将语音段判断为:不含目标说话人、只包含一个目标说话人、包含多个目标说话人;
S4:利用基于GAN的包含多个目标说话人的语音生成模型,对包含多个目标说话人的待分离语音数据进行处理,扩充待分离语音段数据集;
S5:构建并训练基于TCN的语音分离模型,将待分离的包含多个目标说话人的语音分离得到单一目标说话人的语音数据,最后拼接出单一说话人的完整语音。
2.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S1具体包括以下步骤:采集数据时,利用录音设备对说话人及所在的真实场景进行录音,得到待分离语音数据集V0={v1,v2,...,vi,...,vn}i∈[1,n],其中n表示待分离语音数据集中语音段的总数,vi表示第i段待分离语音,每段待分离语音时长为Time分钟;收集所有目标说话人在无噪声干扰下的干净语音信号得到目标说话人干净语音小样本数据集Clean={c1,c2,...,cj,...,cm}j∈[1,m],其中m表示目标说话人的个数,cj表示第j个目标说话人的干净语音,每一段干净语音时长为Time分钟。
3.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S2所述预处理包括:
S21:利用结合短时能量和过零率的阈值法对采集到的待分离语音进行端点检测,去除空白语音部分;
S22:通过基于频域掩码的深度学习模型对步骤S21得到的待分离语音段进行降噪处理。
4.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S3具体包括以下步骤:
S31:将待分离语音段和目标说话人干净语音均分为p帧,提取每一帧待分离语音梅尔频谱特征Xa={x11,x12,...,x1k,...,x1p,...xlk,...,xnp},其中xlk表示从第l段待分离语音的第k帧提取得到的特征向量,l∈[1,n],k∈[1,p];提取每一帧目标说话人干净语音的梅尔频谱特征Yb={y11,y12,...,y1k,...,y1p,...yjk,...,ymp},其中yjk表示第j个目标说话人干净语音的第k帧提取得到的特征向量;
S32:构建基于LSTM的语音匹配模型,将梅尔频谱特征Xa与Yb分别按照每段待分离语音的每一帧语音特征为一行,从上至下按帧顺序依次排列;每段目标说话人的每一帧干净语音特征为一行,从上至下按帧顺序依次排列,组成batch,batch中的梅尔频谱特征通过三层LSTM得到包含输入语音特征的特征向量,在最后一层LSTM后接一层线性映射层,将最后一层LSTM的输出映射为一个低维的embedding特征向量;然后求取待分离语音的每一帧的embedding特征向量与每一个目标说话人干净语音的中心向量的embedding特征的相似度,得到相似度矩阵,维度为n×pm,取相似度矩阵中所有元素的平均值作为阈值,用于识别该段待分离语音中正在说话的目标说话人;
S33:将待分离语音段分为不含目标说话人、包含一个目标说话人、包含多个目标说话人的语音段;用一个维度为n×p的说话矩阵记录相似度矩阵中每一帧正在说话的目标说话人个数;根据说话矩阵的统计结果,筛选出每段待分离语音当前说话人人数等于0、1和大于等于2的语音帧,只保留当前目标说话人人数大于等于2的语音帧,并将保留的语音帧进行合并,得到该段待分离语音的多个目标说话人的语音段M={M1,M2,...,Mn},对其进一步语音分离。
5.根据权利要求4所述的基于数据生成的小样本语音分离方法,其特征在于:在所述步骤S32中,具体包括以下步骤:
S321:待分离语音batch由n×p个梅尔频谱特征组成,其中有n段待分离语音,每段被分为p帧,每帧的特征与Xa内的特征元素对应;
说话人干净语音batch由m×p个梅尔频谱特征向量组成,其中有m段目标说话人干净语音,每段被分为p帧,每帧的特征与Yb内的特征元素对应;
S322:Xa经过三层LSTM处理后得到每一帧语音的特征向量,最后使用线性映射层来降低特征向量的维度,结果为f(xlk;W),其中xlk为第l段待分离语音的第k帧的语音信号,f是最后一层LSTM后线性映射函数,W为该函数的参数,使用一维向量表示;
S323:将embedding特征向量定义为f(xlk;W)的L2范数归一化,将其中第l段待分离语音的第k帧的embedding特征向量表示为el,k:
其中||f(xlk;W)||2为模型输出f(xlk;W)的L2范数;
S324:Yb经过模型处理得到目标说话人干净语音的embedding特征向量ej,k,表示第j个目标说话人,第k帧干净语音的embedding特征向量;对p帧的干净语音信号的embedding特征向量求平均得到该说话人中心特征向量Centrej,表示第j个目标说话人干净语音信号的中心特征向量:
S325:计算每个由Xa得到的el,k与每个目标说话人干净语音中心特征向量Centrej的余弦相似度Sl,k,j:
Sl,k,j=w·cos(el,k,Centrej)+b
其中w和b分别是神经网络可以学习的权值和偏置,计算结果将组成维度为n×pm的相似度矩阵;
S326:计算相似度矩阵中所有元素的平均值,并将其设置为说话人判定阈值,当矩阵元素值大于等于阈值时,将帧设为1,判定对应的目标说话人在该帧正在说话;反之,设为0,判定该说话人在该帧没有说话。
6.根据权利要求5所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S326所述计算每个由Xa得到的el,k与每个目标说话人干净语音中心特征向量Centrej的余弦相似度Sl,k,j,具体过程如下:
由Xa得到的e1,1与Centre1计算余弦相似度,将计算结果作为相似度矩阵的第一个元素,该行元素为e1,1与所有Centre的余弦相似度计算结果;下一行为e1,2与所有Centre的余弦相似度计算结果,以此类推,一直计算到e1,p与所有Centre的余弦相似度结果;
接下来计算e2,1与所有Centre的余弦相似度,将计算结果作为相似度矩阵的第p+1行的第一个元素,该行元素为e2,1与所有Centre的余弦相似度计算结果;以此类推,一直计算到en,p与所有Centre的余弦相似度,得到维度为n×pm的相似度矩阵。
7.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S4具体包括以下步骤:
S41:对包含多个目标说话人的待分离语音段M提取梅尔频谱特征H={h1,h2,...,hv,...hn},hv表示第v段待分离语音,v∈[1,n];
S42:构建基于GAN的语音生成模型,由生成器与判别器组成;
将包含多个目标说话人语音的梅尔频谱特征H作为生成器的输入,经过一层卷积层后送入上采样网络块;每个上采样网络块中嵌套残差块,最后经过一层卷积层得到输入特征对应的语音信号输出;
判别器采用多尺度架构,用于对原始音频做判别,还对原始音频采用平均池化的方式进行降频处理后再输入到下一个判别器进行判别;将生成器生成的语音信号和原始语音信号输入判别器D,经过一层卷积层后送入下采样网络块,下采样网络块有4个,最后经过两层卷积层得到判别结果;不断训练生成器和判别器,最后得到可以生成多个目标说话人语音的语音生成模型;
S43:将需要扩充待分离语音段M放入训练得到的语音生成模型,得到n段生成的包含多个目标说话人的待分离语音,与原始待分离语音合并得到新的待分离语音段Data={data1,data2,...,datan,...data2n}。
8.根据权利要求7所述的基于数据生成的小样本语音分离方法,其特征在于:所述生成器的上采样网络块有四个,依次为8x,8x,2x,2x,在每层上采样后加入带有空洞卷积的残差块Residual Stack,每个残差块有三层,每一层的膨胀系数为1,3,9;生成器通过四层上采样和卷积,把含有多个目标说话人的一维特征H,处理为包含多个目标说话人的语音信号;
所述判别器由三个子判别器D1,D2,D3组成,子判别器具有相同的网络结构,三个子判别器在不同的采样频率上进行,D1的输入为正常采样频率的语音,D2的输入为下采样一次得到的语音,D3的输入为下采样两次得到的语音。
9.根据权利要求1所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S5具体包括以下步骤:
S51:通过Praat生成静音段的语音信号,拼接到包含多个目标说话人的待分离语音信号的尾部,使所有包含多个目标说话人的待分离语音时长相等;
S52:构建基于TCN的语音分离模型,由编码器、分离器、解码器构成;
编码器通过一个1*1的卷积对输入的包含多个目标说话人的待分离语音的波形进行特征提取,将语音波形转变为一个特征矩阵;
分离器将编码器得到的特征矩阵放进基于TCN的时间卷积网络中,学习得到每个说话人的特征矩阵,使用一个1*1的卷积,先进行扩大通道数,对不同说话人进行不同通道维度的区分,然后分成对应说话人的特征矩阵;
将分离器得到的特征矩阵放入解码器,逆变换得到对应的语音信号,实现多个目标说话人的分离;
S53:将步骤S3每段待分离语音匹配的目标说话人的干净语音进行融合,得到包含多个目标说话人的语音,从而获得分离模型的训练语音数据;根据信噪评估值对语音分离模型进行迭代训练,在信噪评估值达到最大值时,确定语音分离模型训练完成,得到训练好的语音分离模型;
S54:将包含多个目标说话人的待分离语音波形放入训练好的语音分离模型中,输出多个包含单一说话人的语音信号,实现多个目标说话人的语音分离。
10.根据权利要求9所述的基于数据生成的小样本语音分离方法,其特征在于:步骤S52中,编码器的输入是多个目标说话人待分离语音在时域上的波形,波形是一个维度为I的一维向量,I=Time*p,编码器通过一个一维卷积Conv1D(1,256,20,stride=10,padding=0)将一维向量变成一个256×P的二维特征矩阵,其中P=(I-20)/10+1;
在分离器中,将得到的256×P的特征矩阵输入到经过一个堆叠的CNN网络组成的TCN时间卷积网络中,通过学习得到每个说话人的特征矩阵,又使用卷积扩大通道数,接着对不同说话人进行不同通道维度的区分,然后根据说话人个数分成多份;
最后将分离器学习得到的不同说话人的特征矩阵放入解码器进行解码,得到对应说话人的语音波形,将256×P的特征矩阵转变为和输入尺度相同的I的一维向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211740126.3A CN116092512A (zh) | 2022-12-30 | 2022-12-30 | 一种基于数据生成的小样本语音分离方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211740126.3A CN116092512A (zh) | 2022-12-30 | 2022-12-30 | 一种基于数据生成的小样本语音分离方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116092512A true CN116092512A (zh) | 2023-05-09 |
Family
ID=86209722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211740126.3A Pending CN116092512A (zh) | 2022-12-30 | 2022-12-30 | 一种基于数据生成的小样本语音分离方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116092512A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116758907A (zh) * | 2023-08-17 | 2023-09-15 | 国网信息通信产业集团有限公司 | 一种小样本语义理解训练方法及系统 |
-
2022
- 2022-12-30 CN CN202211740126.3A patent/CN116092512A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116758907A (zh) * | 2023-08-17 | 2023-09-15 | 国网信息通信产业集团有限公司 | 一种小样本语义理解训练方法及系统 |
CN116758907B (zh) * | 2023-08-17 | 2024-01-02 | 国网信息通信产业集团有限公司 | 一种小样本语义理解训练方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112349297B (zh) | 一种基于麦克风阵列的抑郁症检测方法 | |
Sharan et al. | An overview of applications and advancements in automatic sound recognition | |
CN109559736B (zh) | 一种基于对抗网络的电影演员自动配音方法 | |
CN110197665B (zh) | 一种用于公安刑侦监听的语音分离与跟踪方法 | |
CN108962229B (zh) | 一种基于单通道、无监督式的目标说话人语音提取方法 | |
CN110120227A (zh) | 一种深度堆叠残差网络的语音分离方法 | |
CN111754988B (zh) | 基于注意力机制和双路径深度残差网络的声场景分类方法 | |
JPH02160298A (ja) | 雑音除去方法、それに用いるニューラルネットワークの学習方法 | |
CN113096684A (zh) | 一种基于双麦克风阵列的目标语音提取方法 | |
CN112331218A (zh) | 一种针对多说话人的单通道语音分离方法和装置 | |
Do et al. | Speech source separation using variational autoencoder and bandpass filter | |
CN116092512A (zh) | 一种基于数据生成的小样本语音分离方法 | |
CN110136746B (zh) | 一种基于融合特征的加性噪声环境下手机来源识别方法 | |
CN116092501A (zh) | 语音增强方法、语音识别方法、说话人识别方法和系统 | |
Do et al. | Speech Separation in the Frequency Domain with Autoencoder. | |
Copiaco et al. | Identifying Optimal Features for Multi-channel Acoustic Scene Classification | |
CN112927723A (zh) | 基于深度神经网络的高性能抗噪语音情感识别方法 | |
Ahmad et al. | Speech enhancement for multimodal speaker diarization system | |
CN115472168B (zh) | 耦合bgcc和pwpe特征的短时语音声纹识别方法、系统及设备 | |
CN113707136B (zh) | 服务型机器人语音交互的音视频混合语音前端处理方法 | |
Kothapally et al. | Speech Detection and Enhancement Using Single Microphone for Distant Speech Applications in Reverberant Environments. | |
Sailor et al. | Unsupervised Representation Learning Using Convolutional Restricted Boltzmann Machine for Spoof Speech Detection. | |
Ngo et al. | Sound context classification based on joint learning model and multi-spectrogram features | |
CN111785262B (zh) | 一种基于残差网络及融合特征的说话人年龄性别分类方法 | |
Yue et al. | Multidimensional zero-crossing interval points: a low sampling rate acoustic fingerprint recognition method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |