一种基于卷积神经网络的端到端语音分离方法

范存航1,2 刘 斌1 陶建华1,2,3 温正棋1 易江燕1

(1. 中国科学院自动化研究所模式识别国家重点实验室,北京 100190; 2. 中国科学院大学人工智能学院,北京 100190;3. 中国科学院脑科学与智能技术卓越创新中心,北京 100190)

摘 要: 大部分的语音分离系统仅仅增强混合的幅值谱(短时傅里叶变换的系数),但是对于相位谱却不做任何处理。然而,最近的研究表明相位信息对于语音分离的质量起着很重要的作用。为了同时利用幅值和相位信息,本文提出了一种有效的端到端分离方法。这种方法是直接利用原始语音波行点作为特征,是一种基于编解码器的卷积神经网络结构。跟其他的说话人独立的语音分离系统不同,本文提出的方法其神经网络只输出一个说话人的信号,其他的语音可以由混合语音与网络输出信号的差值获得。我们在TIMIT数据集上验证本文提出的方法。实验结果表明,本文提出的方法明显优于句子级别的排列不变性训练(utterance-level permutation invariant training, uPIT)基线方法,对于信号失真比(signal-to-distortion ratio, SDR)相对提高了16.06%。

关键词:说话人独立语音分离;鸡尾酒会问题;端到端;卷积编解码器

1 引言

语音分离的目标是从混合的语音中分离出目标语音,也被称为鸡尾酒会问题[1]。尽管人类的听觉系统可以很容易地从混合声音中分离出自己感兴趣的源信号,但是这对于自动计算机系统来说特别的困难,尤其是在单通道的情况下。语音分离是语音增强中一个很重要的组成部分。除此之外,语音增强还包括语音降噪和语音去混响等。本文主要是针对单通道的语音分离问题。

在过去的几十年,为了解决鸡尾酒会问题,研究者们已经做了很多尝试。其中,计算场景分析(computational auditory scene analysis, CASA)[2]就被用来广泛的使用。非负矩阵分解(non-negative matrix factorization, NMF)[3- 4]是另外一个流行的方法,它的目标是学习一个非负基的集合,然后用此来进行语音分离。但是,对于多说话人的语音分离来说CASA和NMF取得的效果有限。

近几年,深度学习在很多领域都取得了很好的性能。受深度学习成功应用的启发,许多研究者已经提出了基于深度学习的语音分离方法[5- 6]。但是,对于说话人独立的多说话人语音分离来说,其难点在于标签模糊性或者是排列问题。俞栋等人提出了帧级别(permutation invariant training, PIT)和句子级别的排列不变性训练(utterance-level PIT, uPIT)方法[7- 8]。他们通过选择一个最小均方误差的排列作为训练目标来解决这一问题。此外,Hershey等人提出了另外一种方法来解决这个问题,叫做深度聚类(deep clustering, DPCL)[9]。他们训练一个深层网络获取嵌入向量,通过嵌入向量对每一个时频块进行聚类来得到相应的掩蔽值。就像传统的方法一样,PIT, uPIT和DPCL仅仅对傅里叶变换的幅值谱进行增强,然而对于相位谱却不做任何处理。

但是,最近的研究表明[10],通过对相位谱进行增强可以提高分离后语音的质量。这些研究成果已经使研究者来增强相位谱去提高语音分离的质量[11-12]。Williamson等人[10]提出了一种基于深度神经网络(deep neural network, DNN)的语音分离方法。他们将短时傅里叶变换(short-time Fourier transform, STFT)的系数分成实部和虚部,然后这两组参数组成一个特征向量,来替代幅值谱。在文献[12]中,他们使用一种全复数神经网络去学习一个非线性映射从混合STFT系数到各个目标源来解决语音分离问题。然而,对于[11]和[12]他们都需要手动的去提取特征,并且计算复杂度比较大。

最近,端到端的方法在很多领域都取得了显著的效果,包括语音合成[13]和增强[14]。Pascual等人[14]提出了一种端到端的语音增强方法。他们直接使用时域上的波行点作为输入特征而不是使用STFT的系数,然后从带噪语音中去估计目标信号。因为时域信号包含了相位信息,所以这样就可以解决只增强幅值谱而相位谱不做改变的问题。受Pascual等人的启发,本文提出了一种基于卷积编解码器(convolutional encoder decoder, CED)的端到端说话人独立的语音分离方法。跟Pascual等人不同,我们不是进行语音降噪而是语音分离。人类的听觉系统可以很容易的从混合语音中分离出自己感兴趣的信号[15],但是,当同时关注多个说话人时就变得很困难。基于此,我们认为神经网络的输出一次也应该只关注一个说话人,因此本文CED的网络只输出一个目标说话人的语音。因为本文是针对两个说话人的语音分离,所以,另外一个说话人的语音可以从混合语音和网络输出的语音中获得。

本文的其余部分组织如下。文章第2部分主要介绍卷积编解码器的结构。文章第3部分重点阐述了本文提出的语音分离方法。文章第4部分通过实验对结果进行分析。文章第5部分对本文提出的方法进行总结。

2 卷积编解码器

CED的结构跟自编码器很类似。CED比循环神经网络(recurrent neural networks, RNNs)包含了更少的参数。此外,它还有一个更快的语音分离过程,因为它不像RNNs需要回归操作。

CED包括了对称的编码层和解码层(如图1所示)。在编码阶段,输入信号y(t)通过一些卷积层被保护和压缩。在每一层卷积网络后都有一个参数整流线性单元(parametric rectified linear unit, PReLU)激活函数[16]

c=fE(y(t))

(1)

其中,向量c是输入特征的压缩表示,fE(*)是从输入特征到向量c的映射函数。

在解码阶段,解码的过程是卷积的逆操作:

(2)

其中,是说话人i的分离信号,fD(*)是解码器的映射函数。z是服从正态分布的噪声向量。跟编码过程一样,逆卷积层也都跟随一个PReLU激活函数。

跳连接(skip connections)也被使用在CED中,它连接着编码层和对应的解码层。关于它的优点在文献[14]中已经被介绍了。

图1 CED结构图
Fig.1 The architecture of CED

3 本文提出的语音分离方法

对于人类来说,在一个含有多个说话人的环境中可以很容易的只关注自己感兴趣的信息。但是,当同时关注不止一个说话人时就变得很困难。因此,人类的听觉系统有能力选择自己感兴趣的说话人而忽略其他人。受此启发,本文的CED网络仅仅输出一个说话人的信息,另外一个说话人的语音可以从混合语音和网络输出的语音中获得。在优化网络时同时考虑了两个说话人的信息,这样就能更好地分离语音。

3.1 基于CED网络的端到端语音分离方法

本文只针对两个说话人的语音进行分离。对于单通道的语音分离问题,我们定义第s个说话人的时域信号为xs(t),s=1,2。混合的语音信号为:

y(t)=x1(t)+x2(t)

(3)

对于语音分离的目标为从混合的输入信号y(t)中估计出目标信号x1(t)和x2(t)。我们用分别表示分离后说话人1和2的语音信号。

本文提出的基于CED网络的端到端语音分离算法流程图如图2所示。CED网络的结构图如图1所示,是根据文献[14]的结构改编而来。CED网络的输入为混合的语音信号y(t)。我们直接使用时域上的原始波形点作为输入特征,因为时域信号包含了相位信息,所以这样就可以解决只增强幅值谱而相位谱不做改变的问题。

图2 基于CED网络的端到端语音分离算法流程图
Fig.2 The flow chart of the proposed end-to-end speech separation method based on CED network

在编码阶段,输入的混合信号被压缩成一个低维的向量表示。在解码阶段,则是把低维的向量解码到输出目标信号。本文将模型的输出固定为第一个说话人。所以,CED网络的输出为并且满足如下关系:

(4)

因为本文提出的语音分离方法是在时域上进行的,所以另外一个说话人的语音信号可以从混合信号和网络输出的语音中获得。

(5)

3.2 损失函数

根据估计出的语音信号我们可以得到两个说话人的误差如下:

(6)

(7)

其中,T代表语音的时长。因此,损失函数为两个误差的和:

J=J1+J2

(8)

使用J作为损失函数要好于使用J1。这是因为JJ1J2的和,它同时包含了说话人1和说话人2的信息,这样,当优化J时,J1J2都可以被优化,因此,两个说话人可以互相从对方学到有助于语音分离的信息。

4 实验及结果分析

4.1 实验数据

我们在TIMIT[17]数据集上验证本文提出的方法。文本是针对两个说话人混合的语音分离,因此,我们从TIMIT数据库中任意挑选两个说话人进行混合来生成我们的数据。

TIMIT数据库中一共有630位说话人,每位说10句话。训练集中共有4620句话,其中男性有3260句,女性有1360句。本文的训练集是从TIMIT的训练集中随机挑选出两个不同说话人的句子进行混合,混合的信噪比(signal-to-noise ratio, SNR)为从0 dB到5 dB均匀分布。对于训练集总共有50820句话。跟训练集的产生方式一样,本文的测试集是从TIMIT的1680句测试集中随机挑选出两个不同说话人的句子进行混合。产生的测试集共有18480句话。

4.2 实验设置

当进行训练的时候,我们用滑动窗口提取波形块。块的大小16384个点,大约接近一秒钟(其中包含50%的重叠)。在测试的时候,我们仅仅进行滑动窗口提取波形块,但是没有重叠。然后把测试的一句话的剩余部分在分离完后拼接到一起。

对于算法的结构,CED网络总共包括22个卷积层,其中滤波器的宽固定为31,步长是2。在编码阶段,当时长的宽度变得更窄的时候,我们增加每层滤波器的个数,这样就可以使深度变得更深。每一层的具体结构如下(样本点×特征映射):16384×1,8192×16,4096×32,2048×32,1024×64,512×64,256×128,128×128,64×256,32×256,16×512,8×1024。其中,随机噪声z是一个8×1024维度的向量,服从正态分布N(0,I)。在解码阶段,由于它跟编码阶段是对称的镜像过程,因此对于每一层它跟编码阶段拥有同样的滤波器宽度和滤波器的数量。但是,因为有跳连接的存在,所以特征映射的个数是编码阶段的两倍。

本文提出的算法模型其训练轮数为50,优化算法使用的是RMSprop[18],学习率为0.0002,批大小是100。对于CED网络的参数主要是参考文献[14]设定的。

本文的基线系统使用的是uPIT[8]。对于uPIT网络参数的设定,主要是参考文献[8]。本文使用理想振幅的掩蔽值(IAM, Ieal Aplitude Msk), 对于网络参数,我们使用的LSTM进行训练,每层含有1024个隐层节点,学习率设置为0.0002。本文的输入和输出特征是经过STFT提取的257维的幅值谱。

文本的评价指标为相对于混合输入信号,信号失真比(SDR)[19]的提高值,也被称为GNSDR,以及语音质量的感知评估(the perceptual evaluation of speech quality, PESQ)[20]。它们被广泛用于评价语音增强的性能,其值越大说明增强的性能越好。

4.3 实验结果

如图3所示,展示了在不同的语音分离方法下GNSDR的值。输入的SNR是从0到5 dB。其中,红色的线表示本文提出的方法。为了证明本文提出的损失函数的有效性,我们还对比了只使用J1作为损失函数而不是J,结果如图3中绿线所示。此外,为了证明相位谱的重要性,我们用混合语音的相位替换掉本文分离后语音的相位信息,结果如图3中的玫红色所示。最后,蓝色线表示本文的基线uPIT的结果。

图3 GNSDR的实验结果
Fig.3 The result of GNSDR

从图3中我们可以做出以下几个观察。首先,从0~5 dB的SNR中,本文提出的方法全部优于基线uPIT系统。这显示了对于两个说话人的语音分离任务中本文提出方法的有效性。此外,我们还可以发现,随着SNR的增加,所有方法语音分离的性能在下降。这是因为,当SNR变大时,有一个说话人的信息比较好分离,但是对于另外一个说话人就更难分离,所以两个说话人混合的SNR越接近(即接近于0)越有助于分离。

第二,为了验证相位信息的重要性,我们用混合语音的相位替换掉本文分离后语音的相位信息。通过图3可以发现,当相位谱被替换掉后,分离的性能变得更差了。因此证明了相位谱对于语音分离是很重要的。所以,仅仅增强幅值谱而不对相位谱进行改变会损伤语音分离的性能。因为本文提出的方法是在时域上进行的,这其中就包含了幅值和相位信息,因此本文提出的方法对幅值和相位谱都进行了增强。此外,我们还发现,尽管我们使用混合的相位谱来替换分离后语音的相位谱,但是其分离性能仍然要好于uPIT基线方法。这说明了,用本文提出的方法得到的幅值谱要比uPIT好。这是因为,我们是使用时域波行点作为特征进行分离,同时利用了幅值和相位信息,这样两者可以相互增强,从而使得分离的性能更加好。

最后,与使用J1作为损失函数相比,使用J1J2的和J作为损失函数可以很明显的提升GNSDR的值。这表明了与最小化J1相比,最小化J可以得到更好的分离效果。这是因为,J中同时包含了两个说话人的信息,这样他们的信息可以被同时优化。

因此,两个说话人可以互相从对方学到有助于语音分离的信息,从而提高分离的质量。

表1 SNR从0~5 dB,对于不同的语音分离方法GNSDR的平均值

Tab.1 Average GNSDR(dB) for different separation methods on 0~5 dB SNRs

方法GNSDRuPIT(基线)6.97使用J1作为损失函数7.09使用混合相位替换分离后语音的相位7.27本文提出的方法(J1+J2)8.09

表1显示了SNR从0~5 dB,对于不同的语音分离方法GNSDR的平均值。从表1我们可以看出,本文提出的方法要明显好于uPIT方法。更加具体地说,跟uPIT方法相比,对于GNSDR的值本文提出的方法提高了1.12 dB,相对提升了16.06%。这个结果表明了对于两个说话人分离的任务本文提出方法的优越性。

图4展示了一个测试集中语谱图的例子,他们分别是目标语音(a)、使用uPIT方法分离的语音(b)和使用本文提出的方法分离的语音(c)。由图4我们可以发现,跟目标干净语音相比较,本文提出的方法能够很好的保存谐波,并且共振峰也很清晰。这表明混合的语音信号被很好地分离了出来。此外,我们还可以发现,使用uPIT方法可以将不同的语音分离出来,但是跟本文提出的方法相比的话,其共振峰并没有那么清晰。并且,通过比较图4中的(a)和(b)我们可以发现,(b)中会多出一部分>共振峰(图中黑色方块标出的地方尤为明显),这说明使用uPIT方法并没有将语音分离干净,仍然会保留一部干扰音。

图4 目标语音、uPIT基线方法和本文提出方法语谱图的一个例子
Fig.4 Example of target, the proposed system and PIT processed spectrogram for a speech segment

表2 不同系统的MOS值和PESQ得分

Tab.2 The MOS and PESQ results of different systems

方法MOSPESQ/dBuPIT(基线)2.701.55本文提出的方法(J1+J2)原始干净语音3.615.001.864.5

为了对比本文提出的方法与基线系统的主观评价,我们也对本文提出的方法和uPIT基线系统进行主观平均得分(MOS, mean of score)。实验结果如表2所示,我们以原始的干净语音作为满分5分参考,然后从测试集中随机选出10句话,让6位从事语音专业的人员进行主观评测打分。从表2我们可以看出,本文提出的方法明显要优于uPIT基线系统,MOS评价指标相对提升了33.70%。

此外,表2还对比了本文提出的方法和uPIT基线系统的PESQ得分。从表2可以看出,本文提出的方法PESQ得分明显高于基线系统uPIT,其得分从1.55 dB提升到1.86 dB,相对提升了20%。结果再次表明本文提出方法的有效性。

5 结论

在这篇文章中,我们介绍了一种基于卷积神经网络的端到端语音分离方法。为了充分利用原始数据的信息,本文提出的方法是基于时域上进行的。此外,本文的模型是基于卷积编解码器网络结构,不同于其他基于深度学习的说话人独立的语音分离方法,我们网络的输出只有一个说话人的信息。实验结果表明,本文提出方法的语音分离性能明显好于uPIT方法,GNSDR评价指标相对提升了16.06%,MOS值相对提升了33.70%, PESQ得分相对提升了20%。这证明了本文方法的有效性。

参考文献

[1] Bell A J, Sejnowski T J. An Information-Maximization Approach to Blind Separation and Blind Deconvolution[M]. Unsupervised Learning. Bradford Company, 1995.

[2] Wang DeLiang, Guy J. Brown. Computational auditory scene analysis: Principles, algorithms, and applications[M]. Wiley-IEEE Press, 2006.

[3] Schmidt M N, Olsson R K. Single-channel speech separation using sparse non-negative matrix factorization[C]∥International Conference on Interspeech-icslp. 2006.

[4] 刘斌, 陶建华. 联合长短时记忆递归神经网络和非负矩阵分解的语音混响消除方法[J]. 信号处理, 2017,33(3):268-272.

Liu Bin, Tao Jianhua. A Research to Speech Dereverberation Method Based on BLSTM Recurrent Neural Networks and Non-negative Matrix Factorization[J]. Journal of Signal Processing, 2017,33(3):268-272.

[5] Fan Cunhang, Liu Bin, Tao Jianhua, et al. Utterance-level Permutation Invariant Training with Discriminative Learning for Single Channel Speech Separation[J]. In Proceedings ISCSLP 2018, 2018.

[6] Wang DeLiang, Chen Jitong. Supervised Speech Separation Based on Deep Learning: An Overview[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2018, PP(99): 1-1.

[7] Yu Dong, Morten Kolbk, Tan Zhenhua, et al. Permutation invariant training of deep models for speaker-independent multi-talker speech separation[C]∥IEEE International Conference on Acoustics. IEEE, 2017.

[8] Kolbk M, Yu Dong, Tan Zhenhua, et al. Multi-talker Speech Separation with Utterance-level Permutation Invariant Training of Deep Recurrent Neural Networks[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2017, PP(99): 1-1.

[9] Hershey J R, Chen Z, Roux J L, et al. Deep clustering: Discriminative embeddings for segmentation and separation[J]. International Conference on Acoustics, Speech, and Signal Processing, 2016: 31-35.

[10] Gerkmann T, Krawczyk-Becker M, Roux J L. Phase Processing for Single-Channel Speech Enhancement: History and recent advances[J]. IEEE Signal Processing Magazine, 2015, 32(2): 55- 66.

[11] Williamson D S, Wang Y, Wang D L. Complex Ratio Masking for Monaural Speech Separation[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2016, 24(3): 483.

[12] Lee Y S, Wang C Y, Wang S F, et al. Fully complex deep neural network for phase-incorporating monaural source separation[C]∥Acoustics, Speech and Signal Processing(ICASSP), 2017 IEEE International Conference on. IEEE, 2017: 281-285.

[13] Den Oord A V, Dieleman S, Zen H, et al. WaveNet: A Generative Model for Raw Audio[J]. arXiv: Sound, 2016.

[14] Pascual S, Bonafonte A, Serra J. SEGAN: Speech enhancement generative adversarial network[C]∥INTERSPEECH, 2017: 3642-3646.

[15] O’Sullivan J A, Power A J, Mesgarani N, et al. Attentional Selection in a Cocktail Party Environment Can Be Decoded from Single-Trial EEG[J]. Cerebral Cortex, 2014, 25(7): 1697.

[16] He K, Zhang X, Ren S, et al. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification[J]. International Conference on Computer Vision, 2015: 1026-1034.

[17] Garofolo J S, Lamel L F, Fisher W M, et al. DARPA TIMIT acoustic-phonetic continous speech corpus CD-ROM. NIST speech disc 1-1.1[J]. Nasa Sti/recon Technical Report N, 1993, 93.

[18] Tieleman T, Hinton G. Divide the gradient by a running average of its recent magnitude. coursera: Neural networks for machine learning. Technical Report. Available online: https:∥zh.coursera.org/learn/neuralnetworks/lecture/YQHki/rmspropdivide-the-gradient-by-a-running-average-of-its-recentmagnitude(accessed on 21 April 2017), Tech. Rep.

[19] Vincent E, Gribonval R, Fevotte C. Performance measurement in blind audio source separation[J]. IEEE Transactions on Audio, Speech and Language Processing, 2006, 14(4): 1462-1469.

[20] Rix A W, Hollier M P, Hekstra A P, et al. Perceptual evaluation of speech quality(pesq) the new itu standard for end-to-end speech quality assessment part i-time-delay compensation[J]. Journal of the Audio Engineering Society,2002, 50(10): 755-764.

An End-to-End Speech Separation Method Based on Convolutional Neural Network

Fan Cunhang1,2 Liu Bin1 Tao Jianhua1,2,3 Wen Zhengqi1 Yi Jiangyan1

(1. National Laboratory of Pattern Recognition, Institute of Automation, Chinese Academy of Sciences, Beijing 100190, China;2. School of Artificial Intelligence, University of Chinese Academy of Sciences, Beijing 100190, China;3. Chinese Academy of Sciences Center for Excellence in Brain Science and Intelligence Technology, Beijing 100190, China)

Abstract: Most of speech separation systems usually enhance the magnitude spectrum of the mixture. The phase spectrum is left unchanged, which is inherent in the short-time Fourier transform(STFT) coefficients of the input signal. However, recent studies have suggested that phase was important for perceptual quality. In order to simultaneously make full use of magnitude and phase, this work develops a novel end-to-end method for two-talker speech separation, based on an encoder-decoder fully-convolutional structure. Different from traditional speech separation systems, in this paper, deep neural network outputs one speaker’s signals exclusively. We evaluate the proposed model on the TIMIT dataset. The experimental results show that the proposed method significantly outperforms the permutation invariant training(PIT) baseline method, with a relative improvement of 16.06% in signal-to-distortion ratio(SDR).

Key words speaker independent speech separation; cocktail party problem; end-to-end; convolution encoder decoder

中图分类号:TN912

文献标识码:A

文章编号: 1003-0530(2019)04-0542-07

DOI:10.16798/j.issn.1003- 0530.2019.04.003

引用格式: 范存航, 刘斌, 陶建华, 等. 一种基于卷积神经网络的端到端语音分离方法[J]. 信号处理, 2019, 35(4): 542-548. DOI: 10.16798/j.issn.1003- 0530.2019.04.003.

Reference format: Fan Cunhang, Liu Bin, Tao Jianhua, et al. An End-to-End Speech Separation Method Based on Convolutional Neural Network[J]. Journal of Signal Processing, 2019, 35(4): 542-548. DOI: 10.16798/j.issn.1003- 0530.2019.04.003.

收稿日期:2019-01-10;修回日期:2019-03-23

基金项目:国家重点研发计划(2017YFC0820602);国家自然科学基金(61425017, 61831022, 61773379, 61771472);中国科学院-法国国家信息与自动化研究所联合研究项目(173211KYSB20170061)

作者简介

范存航 男, 1991年生, 河南人。中国科学院自动化研究所博士研究生。研究方向为语音增强、语音分离等。

E-mail: cunhang.fan@nlpr.ia.ac.cn

刘 斌 男, 1984年生, 内蒙古人。中国科学院自动化研究所副研究员。研究方向为语音信号处理、语音增强与语音编码。

E-mail: liubin@nlpr.ia.ac.cn

陶建华 男, 1972年生, 江苏人。中国科学院自动化研究所研究员, 博士生导师。研究方向为语音识别与合成、人机交互。

E-mail: jhtao@nlpr.ia.ac.cn

温正棋 男, 1985年生, 浙江人。中国科学院自动化研究所副研究员。研究方向为语音识别与合成、说话人识别。

E-mail: zqwen@nlpr.ia.ac.cn

易江燕 女, 1984年生, 云南人。中国科学院自动化研究所助理研究员。研究方向为语音识别。

E-mail: jinagyan.yi@nlpr.ia.ac.cn