Directional voice separation method based on deep neural network
附图说明 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。 图1是本发明实施例提供的一种基于深度神经网络的定向语音分离方法处理过程示意图; 图2是本发明实施例中,采用的声纹编码器的结构示意图。 技术领域 本发明属于语音处理技术领域,具体涉及一种基于深度神经网络的定向语音分离方法。 具体实施方式 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。 本发明实施例提供的一种基于深度神经网络的定向语音分离方法包括下列步骤: 步骤1,提取语音的时频谱特征:提取混合人声以及纯净人声的时频谱特征,其中,纯净人声的时频谱特征用于人声分离网络的训练; 步骤2,使用声纹编码器(优选EcapaTDNN网络)提取语音的声纹向量,以获得ecapa-vector,即提取与纯净人声不同的参考人声的声纹向量; 步骤3,构建并训练人声分离网络,其中,所述人声分离网络的激活函数采用Mish函数; 步骤4,将时频谱和声纹向量共同输入人声分离网络,输出从混合人声中提取到的目标人声。 作为一种可能的实现方式,本发明实施例中,提取语音的时频谱特征具体为: 在提取频域特征Fbank的过程中,音频被分为等长的帧。每一帧通过离散傅里叶变换得到频谱图。以灰度值表示幅度,则可以将频谱表示从二维转换为一维。将所有音频帧的幅度灰度表示拼接起来,以时序的帧为横坐标,以频率为纵坐标,便得到了时频谱图。上述过程即短时傅里叶变换(STFT)。若需从时频谱中恢复出原音频,可以运用逆短时傅里叶变换(ISTFT)。其中,Fbank是一种前端处理方法,以类似人耳的方式对音频进行处理,可以提高语音识别的性能。 本发明实施例中,人声分离的处理过程是基于Google的VoiceFilter架构,其改进的结构如图1所示,包括:声纹编码器,抽取网络(人声分离网络),短时傅里叶变换(时频谱特征提取单元)和逆短时傅里叶变换(时频谱特征转换单元),其中,抽取网络依次包括卷积神经网络、长短期记忆网络LSTM和全连接层,用于输出频谱图的掩码矩阵;声纹编码器用于提取与纯净人声不同的参考人声的声纹向量,并将提取的参考人声的声纹向量输入抽取网络的LSTM网络,抽取网络的卷积神经网络的输入为短时傅里叶变换获取的混合人声的频域特征(输入时频谱),将提取的特征图输入到LSTM网络,全连接层用于输出频谱图的掩码矩阵;将掩码矩阵与短时傅里叶变换获取的频域特征相乘,得到输出时频谱,经逆短时傅里叶变换后得到从混合人声中提取到的目标人声。 本发明的人声分离网络在训练时,采用MSE损失对网络参数进行更新,其中MSE损失(均方损失)的具体计算方式为:将纯净人声输入时频谱特征提取单元,以获取到目标时频谱,基于目标时频谱和输出时频谱计算人声分离网络的MSE损失。对于维度为n×m的矩阵,MSE计算为:其中,和yij分别表示预测值和真实值。 即训练时,系统的输入是混合人声,以及特定说话人的两段不同的语音。其中一段语音是混合语音中该说话人的纯净人声,另一段语音则作为参考人声用于提取声纹信息。推理时,系统输入混合人声和参考人声,输出提取出的人声。 采用的声纹信息编码器是声纹识别系统中的EcapaTDNN网络,提取出ecapa-vector作为输入。其中,EcapaTDNN网络的结构如图2所示,依次包括:卷积块(一维卷积、激活函数和批归一化(BN)),三层SE-Res2Block、卷积块、注意力统计模块(注意力统计池+BN)、带BN的全连接层(FC)和Softmax层(采用改进的AAM-Softmax),带BN的全连接层和Softmax层构成EcapaTDNN网络的输出层。图2中,T表示音频帧数,C表示通道数;S表示说话人数量。EcapaTDNN网络在网络结构部分引入了Res2Net(多尺度骨干网络)减少了参数量;添加了SE(Squeeze-and-Excitation)网络;引入特征聚合和累加机制。池化函数引入了通道注意力机制;损失函数使用Softmax的改进版本AAM-Softmax。 本发明采用的神经网络的激活函数是Mish激活函数(在卷积神经网络中),其定义为: f(x)=x·tanh(ln(1ex)) 其中,tanh表示双曲正切函数,e表示自然底数。 本发明通过引入ecapa-vector声纹特征,提取更细腻的声纹信息,使得参考人声的特征更多地被保留,从而有益于从混合人声中分离出包含上述特征的人声;通过引入Mish激活函数替代Relu,使得本发明的神经网络的训练更为平滑,从而提取出更合理的掩码矩阵;通过引入MSE损失函数,更好地表达出所输出时频谱与目标时频谱之间的差异性。此外,本发明在中文数据集上进行训练,更加适合于处理中文人声分离场景。通过这些优化手段,本发明构建出的分离方法在SDR和Si-SDR等音源分离系统中常用的评价指标上取得了更为优秀的效果,具体表现在Aishell-1和Aidatatang_200zh等数据集上测试取得更大的值。这说明本发明有效改进了基准分离系统,是一套更好的定向人声分离方法。 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。 以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。 背景技术 定向语音分离源自单通道语音分离问题。单通道语音分离,旨在分离通过单一麦克风获取的混合语音,得到与语音发出者数量相等的信号通道。目前性能最好的单信道语音分离方法基本基于深度学习,例如深度聚类方法、深度吸引网络、置换不变性训练等。 单通道语音分离存在无法获知说话人数量、置换性、输出信道选择等问题。因此,出现了基于声纹的定向语音分离,又称目标说话人抽取,其旨在利用目标说话人的声纹信息从混合语音中提取出该说话人的语音。其中最具代表性的方法是VoiceFilter,其将提取到的d-vector嵌入向量输入到抽取网络。定向人声分离系统的性能与声纹向量的表征能力有关,而d-vector提取到的声纹信息不够细节。此外,VoiceFilter采取Relu激活函数,该函数在零值附近不平滑且不允许负值,这也影响了定向人声分离系统的性能。 发明内容 本发明提供了一种基于深度神经网络的定向语音分离方法,可用于提升定向人声分离的处理性能。 本发明采用的技术方案为: 一种基于深度神经网络的定向语音分离方法,该方法包括: 步骤1,提取语音的时频谱特征:提取混合人声以及纯净人声的时频谱特征,将混合人声的时频谱特征作为输入时频谱,将纯净人声的时频谱特征作为目标时频谱,且目标时频谱用于人声分离网络的训练; 步骤2,使用声纹编码器提取语音的声纹向量,以提取与纯净人声不同的参考人声的声纹向量; 步骤3,构建并训练人声分离网络,其中,所述人声分离网络的激活函数采用Mish函数; 步骤4,将时频谱和声纹向量共同输入人声分离网络,输出从混合人声中提取到的目标人声。 进一步的,所述步骤3中,人声分离网络依次包括:卷积神经网络、长短期记忆网络LSTM和全连接层;将声纹编码器提取的与纯净人声不同的参考人声的声纹向量输入人声分离网络的LSTM网络;以及将提取的输入时频谱输入人声分离网络的卷积神经网络;该卷积神经网络再将提取的特征图输入LSTM网络,全连接层用于输出频谱图的掩码矩阵; 将人声分离网络输出的掩码矩阵与输入时频谱相乘,得到输出时频谱,经时频谱特征提取的逆过程得到从混合人声中提取到的目标人声; 对人声分离网络训练时,采用均方损失对网络参数进行更新,即基于目标时频谱和输出时频谱计算人声分离网络的均方损失,再通过反向传播和梯度下降法对人声分离网络的网络参数进行更新,直到训练次数达到上限或者均方损失满足指定条件时停止。 本发明提供的技术方案至少带来如下有益效果: 本发明通过引入ecapa-vector声纹特征,提取更细腻的声纹信息,使得参考人声的特征更多地被保留,从而有益于从混合人声中分离出包含上述特征的人声;通过引入Mish激活函数替代Relu,使得本发明的神经网络的训练更为平滑,从而提取出更合理的掩码矩阵;通过引入MSE损失函数,更好地表达出所输出时频谱与目标时频谱之间的差异性。此外,本发明在中文数据集上进行训练,更加适合于处理中文人声分离场景。 The invention discloses a directional voice separation method based on a deep neural network, and belongs to the technical field of voice processing. The method comprises the following steps: extracting time-frequency spectrum features of voice: extracting time-frequency spectrum features of mixed human voice and pure human voice, the time-frequency spectrum features of the pure human voice being used for training a human voice separation network; extracting a voiceprint vector of the voice by using a voiceprint encoder so as to extract a voiceprint vector of a reference voice different from the pure voice; a human voice separation network is constructed and trained, and an activation function of the human voice separation network adopts a Mish function; and jointly inputting the time-frequency spectrum and the voiceprint vector into a human voice separation network, and outputting a target human voice extracted from the mixed human voice. According to the invention, the processing performance of directional human voice separation is effectively improved. 1.一种基于深度神经网络的定向语音分离方法,其特征在于,包括下列步骤: 步骤1,提取语音的时频谱特征:提取混合人声以及纯净人声的时频谱特征,将混合人声的时频谱特征作为输入时频谱,将纯净人声的时频谱特征作为目标时频谱,且目标时频谱用于人声分离网络的训练; 步骤2,使用声纹编码器提取语音的声纹向量,以提取与纯净人声不同的参考人声的声纹向量; 步骤3,构建并训练人声分离网络,其中,所述人声分离网络的激活函数采用Mish函数; 步骤4,将时频谱和声纹向量共同输入人声分离网络,输出从混合人声中提取到的目标人声。 2.如权利要求1所述的方法,其特在于,步骤1中,提取语音的时频谱特征具体方式为: 将音频分为等长的帧,每一帧通过离散傅里叶变换得到频谱图,以灰度值表示幅度; 拼接所有音频帧的幅度灰度表示,以时序的帧为横坐标,以频率为纵坐标,得到音频的时频谱图。 3.如权利要求1或2所述的方法,其特征在于,所述步骤3中,人声分离网络依次包括:卷积神经网络、长短期记忆网络LSTM和全连接层;将声纹编码器提取的与纯净人声不同的参考人声的声纹向量输入人声分离网络的LSTM网络;以及将提取的输入时频谱输入人声分离网络的卷积神经网络;该卷积神经网络再将提取的特征图输入LSTM网络,全连接层用于输出频谱图的掩码矩阵; 将人声分离网络输出的掩码矩阵与输入时频谱相乘,得到输出时频谱,经时频谱特征提取的逆过程得到从混合人声中提取到的目标人声; 对人声分离网络训练时,采用均方损失对网络参数进行更新,即基于目标时频谱和输出时频谱计算人声分离网络的均方损失,再通过反向传播和梯度下降法对人声分离网络的网络参数进行更新,直到训练次数达到上限或者均方损失满足指定条件时停止。 4.如权利要求1所述的方法,其特征在于,所述声纹编码器为EcapaTDNN网络。