基于传统方法与深度学习方法实现人声分离

项目地址:基于深度学习方法实现人声分离

摘要:

现实生活中的对话经常发生在嘈杂、多个对话者的环境当中。人声处理系统应该是可以在这种场景中分开不同的人的声音。最近,使用深度学习的方法去做人声分离相较于传统方法在很大程度上有了进步[24]。一个良好的人声伴奏分离[17]系统能为后期处理带来便捷以及提供良好的性能保障,故具有重要的研究价值。然而人声伴奏分离技术不同于音频信号中的去噪分离技术,其间的相互干扰给学术研究带来了不少挑战。
关键词:人声源分离;深度学习;SepFormer

1、文献综述

1.1多人声分离任务研究现状

多人声分离课题在语音处理领域有着较多的研究以及较好的成果,与我们所研究的音乐人声分离任务有着许多相似之处。目前在该课题中的较多算法都具有较好的迁移能力,我们拟研究该领域SOTA的方法,经过改进后迁移到我们拟研究的课题中。
刘岩等人[8]提出了一种基于NMF的超平面分解方法,将原始混合矩阵通过基矩阵和系数矩阵表示,将样本集在其基向量子空间之上进行投影操作,探究了重构效果和超平面个数间的关系。
在过去传统的神经网络方法是先对声音信号进行短时傅里叶变换去构造一个时间-频率矩阵,用这个矩阵去表示混合的声音,然后再将这个矩阵放到网络当中。神经网络的作用是将这个与每个声音相关的T-F矩阵分离,然后再进行傅里叶逆变换[25]。

基于模型的分离方法通过输入混合声音信号和混合前的纯净声音来构建语音分离模型,利用神经网络从带噪声音中分离出单一声音信号的映射函数[9]。Yi Luo在这篇论文里给出了克服这个问题的方法,就是直接在时域里对信号做变换,对信号在时域做变换的模型叫做encoder-decoder结构,这个处理模型就叫做TasNet[3]。

尽管TasNet比之前的T-F的变换效果要好,但是TasNet是运用LSTM网络作为分离的模型,这限制了其适用性。原因如下,第一点对信号进行小的分段使得encoder的输出长度很长,也就是之前提到过的权重的数量很多,这使得LSTM网络的效果变差。第二点,深度的LSTM网络的参数很多这增加了计算机的消耗,对于硬件资源较少的设备不适合的。第三点,LSTM网络有不一致的分离精确度,例如其对混合声音的起始点很敏感。基于以上几点,Li Luo提出了Conv-TasNet[12],这个网络的特点是仅仅只使用了卷积层,也就是说用TCN模型替换掉了LSTM。这个模型使得网络可以并行计算每个片段,提高了计算速度。并且,相较于LSTM,这个分类的精确度也显著提高了不少。同时对于不同类型的掩码,例如IBM、IRM、WFM、SDR、MOS,均有更好的表现。同样我们可以从WSJ0-2mix dataset看出Conv-TasNet的SI-SNRi比BLSTM高了2.1dB。

对于Conv-TasNet的改进是使用DPRNN[10],DPRNN将输入序列分成较短的块,并组织两个RNN组合(分别是块内RNN和块间RNN),两个RNN分别用于局部和全局建模。
2018年一种新的语音分离深度学习框架[16]被提出,采用神经网络将混合信号的时频表示投影到高维嵌入空间。在嵌入空间中创建一个参考点吸引子来表示每个说话人,这个参考点被定义为说话人在嵌入空间中的质心。然后,每个说话人的时频嵌入被迫聚集在相应的吸引子点周围,这些吸引子用来确定说话人的时频分配。
通常在基于深度学习的语音分离流程中,我们常常只是把一段overlap的语音送入网络中,然后拿我们的目标进行逼近,在这过程中使用PIT的方法。在整个流程中,分离的性能完全取决于网络模型的复杂度于参数量。这很快就导致目前分离的性能上到达了一个瓶颈期。那么是否可以给overlap的语音进行处理一下,比如进行一个聚类,得到要分离的embedding,然后把embedding也送入网络中,告诉网络需要分离的两个说话人的embedding,网络的效果也许会更好。Wavesplit[9]主要包括两个网络部分,speaker stack和separation stack,speaker stack网络主要是把输入映射成vectors,separation stack部分则是利用前面部分处理得到的speaker representations以及mixture的语音,然后生成多通道的语音,每个通道的语音各代表mixture中分离出来的说话人。

1.2人声伴奏分离任务研究现状

一种基于矩阵分解人声算法的研究,首先研究了基于矩阵分解的人声分离算法,总结了矩阵分解算法的基本框架,对典型的矩阵分解算法,如非负矩阵分解算法、鲁棒主成分分析和低秩分解等算法进行了研究并仿真实验。
针对鲁棒主成分分析[30]的人声分离中的人声分离不彻底的问题,首先使用鲁棒主成分分析的人声分离算法对音乐进行初步分离,然后引入谐波源分离算法针对分离出的不彻底人声进行二次分离,最后将两次分离的结果重新组合,即得到最终分离出的伴奏[15]部分和人声部分。

基于深度学习的人声分离算法的研究针对矩阵分解算法对伴奏部分表达欠佳的问题,在深度学习理论基础上研究了一种基于深度神经网络的人声分离算法[7]。由于深度神经网络能够使用逐层学习和非线性激活函数,所以能够对人声和伴奏进行更好的表达。研究了一种基于深度循环神经网络的人声分离算法,使得深度神经网络更好地利用音乐上下文信息。

郑俊等人[11]构建并开源了一个小型中文流行音乐人声onset标注测试集,将语音数据集上训练的模型迁移到真实音乐场景中进行测试。同时,利用可信度过滤层和呼吸音过滤层对迁移后的识别效果进行优化,使模型在真实音乐场景中取得了较好的人声onset识别效果。此外,Li Bochen,Wang Yuxuan等人使用深度学习技术进行有监督学习训练的人声与伴奏分离的基础上,提出了视频中的人声分离技术[5]。将歌唱者口部运动的视觉信息应用在分离技术中,将口部运动模型输入到基于音频分离的深度学习框架中,进一步提高分离出的人声信号质量。

董兴宁,蔡宇航提出了一个基于循环神经网络的歌曲旋律与人声分离系统[14],通过 MFCC[28]提取特征参数,利用RNN 进行建模学习,并进行实验验证了该算法的有效性,最终迁移实现了相应的 Web 端系统,完成了将原歌曲分成人声流和乐声流的目标。

1.3拟采用的方法

我们拟采用传统方法:方法1、FIR数字滤波器方法2、相位分离实现双声道人声消除, SepFormer[2]并采用迁移学习的方法去解决音乐人声分离的任务。我们的模型最初打算在将WSJ0-2/3mix[22]的数据集进行预训练后,迁移到MIR1K[29]中进行训练进而获取分离音乐和人声的目的。

2、实现方法

2.1传统方法
2.1.1FIR数字滤波器

首先我们要了解生活中一些常见的声音的频率,如下:

一般音乐的频率:20~20000Hz
人声的频率:300~3400Hz
钢琴的频率:27.5~4860Hz
吉他的频率:100~300Hz
鼓的频率:50~350Hz左右
滤波器人声分离原理: 人声消除最初起源于美国,是一种可以将立体声歌曲的人声消除的技术。其实,人声消除是一种简单的DSP应用。下面我来简单的介绍一下人声消除的原理。
通常录制唱片的时候,我们都是采取以下的方式:先将人声录制到一个单声道的音轨当中,在将这个音轨插入到立体声的歌曲伴奏中,这样便形成了一首完整的歌曲。在混缩录音的时候,我们通常人声的轨迹平均混合到歌曲伴奏中,也就是说,人声的声波波形在歌曲的两个声道是相同或者相似的,因此,我们可以采取两个声道相减的办法来消除立体声歌曲中的人声。
但是,这样做有时会损失歌曲中的低音。这里的低音是指400Hz以下的频段。有的歌曲的低音部分主要有鼓或者贝司组成,由于鼓或者贝司的低音部分在左右声道的波形基本相同,所以在消除人声的时候也会消除音乐的低音部分,因此,我们需要对低音进行补偿。
低通滤波器(fp=200Hz,fs=250Hz)
高通滤波器(fp=8000Hz,fs=8500Hz)

原始信号低通滤波前后对比:

2.2.1相位分离实现双声道人声消除
原理:FastICA算法(固定点算法)分离音源,FastICA算法:基于负熵最大的算法
中心极限定理:
若一随机变量𝑋由许多相互独立的随机变量𝑥_𝑖之和组成,不论这些𝑥_𝑖为何种分布,随机变量𝑋都接近于高斯分布。算法分析:

2.2.1相位分离实现双声道人声消除

原理:FastICA算法(固定点算法)分离音源,FastICA算法:基于负熵最大的算法
中心极限定理:
若一随机变量𝑋由许多相互独立的随机变量𝑥_𝑖之和组成,不论这些𝑥_𝑖为何种分布,随机变量𝑋都接近于高斯分布。算法分析:

输入信号:𝑥=𝐴𝑆

反变换:𝑍=𝑊𝑥

白化混合信号:使提取出的信号线性无关。负熵的表达式:𝐽_𝐺 (𝑌)=𝐻(𝑌_𝐺 )− 𝐻(𝑌)

实际情况下,该表达式的负熵计算十分困难,所以需要对其进行合理的近似。 其中v是标准高斯随机变量,G是一种非二次函数。

目标变量的迭代公式如下:𝑤_(𝑛+1)=𝐸{𝑥𝐺^′ (𝑤_𝑛^𝑇 )}−𝐸{𝑥𝐺′′(𝑤_𝑛^𝑇 𝑥)}𝑤_𝑛当达到设置的最大迭代次数时停止迭代。并判断是否收敛(看迭代前后的系数矩阵的相似度)。
各信号时域谱如下:

2.2基于深度学习的方法
由于原始歌曲存在格式、码率、噪声等问题,不能直接放入模型中训练,故须进行预处理,其中包含了预加重,分帧和加窗的操作。预加重(Pre-emphasis)是发

送端对输入信号高频分量的提升,其目的是补偿高频分量在传输过程中的过大衰减。由于语音信号具有短时平稳性,故把其分为一些短段进行处理,即分帧操作;同时为了避免丢失语音信号间的动态信息,在相邻帧之间须留有一段重叠区域,即帧移;然后逐帧乘以窗函数,以增加每帧左端和右端的连续性,避免出现吉布斯效应。本文所设置的帧长为30ms,帧移为15ms,所加的窗函数为汉明窗。数据集
本文采用了两种方法构造可供训练与测试的数据集。该任务大多数均在WSJ0-2mix上进行研究对比。 WSJ0数据集是由美国国防部口语项目提供的《华尔街日报》语料库,主要用于大词汇量连续语音识别系统的研究。该语料库大约42.5小时。该数据集由1000 余个歌曲片段构成,人声和伴奏声分别存放在不同的通道里,且每个歌曲均为16kHz 的采样率,均为wav 格式,片段长度由4~13s 不等;但该数

据集大多为偏抒情性质的歌曲,缺少重金属、摇滚类等背景嘈杂的音频;故剩余数据仿照MIR-1K 的制作方法,多选取上述所欠缺类型的音乐,采用人声清唱+伴奏独播的方式合成,并将其放在两个通道,手动分片后添加了标签。其目的是丰富总体数据集的多样性,提高整体模型的训练效果。

2.2.1多人声分离

我们在对分离音乐中歌声与人声的任务调研中,我们发现多人声分离任务已经取得了较好的研究成果

评价指标:不同模型在WSJ0-2mix数据集上的表现

2.2.2音乐与人声分离

由上面的介绍,我们了解到了现如今算法模型在多人声分离上面的结果。而我们如何将这个算法模型上的成果引入到音乐与人声分离上面去呢?我们因为两个任务的相似性,于是我们打算使用迁移学习的方法去解决这个问题,那么首先我们需要了解sepformer到底是如何运作地,我们才能知道我们如果去架构我们的代码,如何迁移到我们拟解决的音乐与人声分离的任务中去。
迁移模型:

编码:将输入序列转化成特征矩阵。
解码:将生成的固定向量再转化出输出序列。Decoder重构得到的序列,得到分离后的声音信号。
Masking-Net
Norm

  1. 加快网络的训练和收敛的速度;
  2. 控制梯度爆炸防止梯度消失;
  3. 防止过拟合,提高模型的泛化能力。

Linear
将我们得到的h矩阵展平成一个序列。
Chunking
1.由于声音序列太长,对h进行切块得到 h‘ ,其中会有参数表示每一个块的大小C以及块的个数 N。
SepFormer(transformer的进阶)

  1. 由于声音序列太长,我们将其分块后经过Sepformer。
  2. IntraTransformer独立处理h‘的每一个块,从而构建了短依赖。
  3. InterTransformer对IntraT的输出进行维度变换,并构建块之间的转移,从而构建了块之间的长依赖。
  4. PRELU+Linear
  5. 激活函数,引入非线性
  6. FFW+RELU
  7. 多层感知机(MLP)
  8. OverlapAdd
  9. 重叠相加层

3、实验设置

根据上文介绍的原理以及方法,我们设置了3个实验来实现人声分离。

3.1实验一:零样本学习

我们这里的零样本学习是指模型通过表征学习,通过借助属性实现跨模态知识的迁移,从而完成可见类信息到未见类信息推断的迁移学习过程。模型虽然没有见到过音乐分离任务,但他仿佛知道人声与背景音乐是有不同的,应该将他分开,但可能效果不是那么好。

3.2实验二:无噪音乐分离

我们使用多人声分离在WSJ0-2mix数据集上预训练学习模型的参数。
我们使用MIR-1K数据集在预训练模型上进行迁移学习。我们由于显卡显存问题,减少了模型的参数,每次只推理30000长度的序列,batchsize为1。
我们直接将MIR-1K分割成一个个长度为30000的序列,并且根据数据集分为了mix,human,bgm,并分为了train和val文件。
我们先直接使用处理后的数据集进行直接训练推理。我们训练了50个epoch,使用sgd优化器,学习率为0.05125,动量为0.01,当迭代了3个epoch在验证集上并没有提升,我们将使得学习率减半。

3.3实验三:含噪音乐分离

我们动态给音乐增加噪声,其中包含9种噪声,包括白噪声,在食堂采集的噪声,切板和电焊设备附件的噪声…
我们同样以MIR-1K数据集为基础,在其上面进行动态加噪。因为加噪后收敛速度较慢,于是我们训练了100个epoch,使用sgd优化器,前50个epoch学习率为0.08125,动量为0.01,后50 epoch学习率为0.05125 ,并设置当迭代了3个epoch在验证集上并没有提升,我们将使得学习率减半。

4、改进方向

1、模型的架构,encoder和decoder部分是,我们的方法只是通了一个卷积就完成了其编码和解码,对特征的提取不够,可以增加类似于transformer的操作;
2、数据集,受电脑显存的制约,我们的数据集全部降采样成了8000,听起来歌曲有明显失真,在48G显存以上的电脑可以增大歌曲的采样率至40000,或者非端到端的算法;
3、训练过程,我们使用了PIT的训练方法,给模型的自由度比较大,可以限制模型1通道输出伴奏,2通道输出声音,效果可能会更优。
4、领域自适应

5、结语

本文介绍了实现人声分离的两种方法,传统方法和基于深度学习的方法,实验过程中我们发现传统方法有着很大的局限性,所以实现效果并不是太好,而基于深度学习的方法有着不错的效果,SepFormer是一个完全的端到端的模型,在各个数据集上均取得了SOTA的效果,
SepFormer使用Transformer[19]为基本结构,利用Chunking操作,将编码后的矩阵进行分块,内部使用IntraTransformer和InterTransformer进行推理,优化了参数量以及推理时间,并且使用这样的结构,使其能够让相同与不同块相互联系起来联系,使得不同的token在短期以及长期的依赖之间均能进行交互。
SepFormer任务中的Encoder与Decoder设计较为简单,仅采用了一层卷积进行特征提取,提取的特征表征效果或许不太好是我们需要思考的重点,幸运的是我们找到了明确的改进方向,希望以后会在人声分离这个问题上有更好的效果。

参考文献

[1] 倪欣,任佳.基于高分辨率网络和自注意力机制的歌声分离算法[J].浙江理工大学学报(自然科学版),2022,47(03):405-412.
[2] C. Subakan, M. Ravanelli, S. Cornell, M. Bronzi, and J. Zhong,“Attention is all you need in speech separation,” 2021.
[3] 徐亮, 王晶, 杨文镜, 罗逸雨. 基于Conv-TasNet的多特征融合音视频联合语音分离算法[J]. 信号处理, 2021, 37(10): 1799-1805. DOI: 10. 16798/j. issn. 1003-0530. 2021. 10. 002.
[4] 买峰. 基于深度卷积神经网络的音乐源分离算法及其应用研究[D]. 电子科技大学, 2021. DOI: 10. 27005/d. cnki. gdzku. 2021. 002690.
[5] Li Bochen, Wang Yuxuan, Duan Zhiyao. Audiovisual Singing Voice Separation[J]. Transactions of the International Society for Music Information Retrieval, 2021, 4(1).
[6] 葛宛营, 张天骐, 范聪聪, 张天. 噪声情况下采用稀疏非负矩阵分解与深度吸引子网络的人声分离算法[J]. 声学学报, 2021, 46(01): 55-66. DOI: 10.15949/ j. cnki. 0371-0025. 2021. 01. 006.
[7] 常雪蛟. 基于深度神经网络的人声分离算法的研究与应用[D]. 电子科技大学, 2021. doi学, 2021. DOI: 10.27005/d.cnki.gdzku. 2021. 003499.
[8] 刘岩. 基于传统方式和深度学习方式的语音分离算法研究[D]. 哈尔滨理工大学, 2021. DOI: 10.27063/d. cnki. Ghlgu. 2021. 000159.
[9] Zeghidour N, Grangier D. Wavesplit: End-to-End Speech Separation by Speaker Clustering:10. 48550/ arXiv. 2002. 08933[P]. 2020.
[10] Y. Luo, Z. Chen, and T. Yoshioka, “Dual-path rnn: effifi- cient long sequence modeling for time-domain single-channel speech separation,”in Proc. of ICASSP, 2020, pp. 46–50.
[11] 郑俊. 中文流行音乐中的自动人声专录研究[D]. 浙江大学,2020. DOI: 10.27461/d. cnki. Gzjdx. 2020. 000465.
[12] Y. Luo and N. Mesgarani, “Conv-tasnet: Surpassing ideal time–frequency magnitude masking for speech separation,” IEEE/ACM transactions on audio, speech, and language processing, vol. 27, no. 8, pp. 1256–1266, 2019. 
[13] 李曾玺. 基于自回归深度神经网络的单通道语音分离方法研究[D]. 中国科学技术大学, 2019. 
[14] 董兴宁,蔡宇航.基于循环神经网络的歌曲旋律与人声分离系统设计与实现[J].现代计算机,2019(25):96-100.
[15] 熊梅. 音乐信号种的人声伴奏分离研究[D]. 重庆邮电大学, 2018. DOI: 10.27675/d.cnki.gcydx.2018.000155.
[16] Speaker-Independent Speech Separation With Deep Attractor Network[J]. IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP), 2018, 26(4)
[17] 张婷. 基于深度学习的有监督语音分离方法研究[D]. 山东大学, 2018.
[18] Y. Luo and N. Mesgarani, “Tasnet: time-domain audio separation network for real-time, single-channel speech separation,” in 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018, pp. 696–700. 
[19] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
[20] 周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017, 40(06): 1229-1251.
[21] 杨祎玥, 伏潜, 万定生. 基于深度循环神经网络的时间序列预测模型[J]. 计算机技术与发展, 2017, 27(03): 35-38+43.
[22] J. R. Hershey, Z. Chen, J. Le Roux, and S. Watanabe, “Deep clustering: Discriminative embeddings for segmentation and separation,” in 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016, pp. 31–35. 
[23] J. R. Hershey, Z. Chen, J. Le Roux, and S. Watanabe, “Deep clustering: Discriminative embeddings for segmentation and separation,” in 2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016, pp. 31–35.
[24] Yusuf Isik, Jonathan Le Roux, Zhuo Chen, Shinji Watanabe, and John R Hershey,“Single-channel multi-speaker separation using deep clustering,” Interspeech 2016, pp. 545–549, 2016.
[25] H. Erdogan, J. R. Hershey, S. Watanabe, and J. Le Roux, “Phasesensitive and recognition-boosted speech separation using deep recurrent neural networks,” in 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2015, pp. 708–712. 
[26] 吴本谷. 音乐中人声分离研究[D].电子科技大学,2015.
[27] 李乐, 章毓晋. 非负矩阵分解算法综述[J].电子学报, 2008(04): 737-743.
[28] 甄斌, 吴玺宏, 刘志敏, 迟惠生. 语音识别和说话人识别中各倒谱分量的相对重要性[J]. 北京大学学报(自然科学版), 2001(03): 371-378. DOI: 10.13209/j. 0479-8023. 2001. 072.
[29] https://sites.google.com/site/unvoicedsoundseparation/mir-1k
[30] 苏为华. 多指标综合评价理论与方法问题研究[D]. 厦门大学, 2000.
posted @ 2023-09-27 09:43  xc0514  阅读(2702)  评论(0)    收藏  举报