Monoaural Audio Source Separation Using Deep Convolutional Neural Networks

Monoaural Audio Source Separation Using Deep Convolutional Neural Networks

论文链接

本文重点在 LOSS Optimize 章节

摘要

本文是CNN在低延时单通道声源分离的应用。

具体来说是使用CNN去学习time-frequency soft mask, 然后用于声源分离。

在由三种乐器组成的数据中评估神经网络的性能:声音、鼓、贝司以及其他乐器,因歌曲而异。

论文的对比模型是多层感知机,有较好的速度提升以及效果提升。

关键词:convolutional autoencoder, music source separation, deep
learning, convolutional neural networks, low-latency

介绍

单声道声源分离一般认为没有多通道分离的效果好,不过可能具体应用时有硬件之类的限制,这也是一个很多人关注的问题。本文重点讨论低延时(是不是用上了cnn都说是低延时?)

过去,非负数矩阵分解(NMF)是这个问题的有效解决技术,不过矩阵分解过程对于算力要求较高,所以无法做到实时应用。

关于神经网络在声源分离上的应用:

  1. On Training Targets for Supervised Speech Separation》提出了神经网络使用二分掩膜来分离。
  2. Multichannel audio source separation with deep neural networks》在多通道上使用神经网络,并且考虑了相位信息。
  3. Deep Learning for Monaural Speech Separation》对于混合语音每帧输入,分别提取单个声源音色。
  4. Deep neural network based instrument extraction from music》拼多帧去预测音色特征。

虽然这些方法都很有效,但是没有充分利用局部时频特征(What,CNN的局限性成了优点?这和2019ICASSP一篇提出《A Convolutional Neural Network with Non-Local Module for Speech Enhancement》恰恰相反。。)

注意一下《Probabilistic Binary-Mask Cocktail-Party Source Separation in a Convolutional Deep Neural Network》也是卷积神经网络在音频处理的早期应用。本篇文章也算是卷积神经网络在分离任务上的早起应用。

数据集使用DSD100。

网络结构

数据流图

CNN网络结构

  • Encoding Stage: 两层CNN + 一层DNN。提取特征
    • Vertical Convolution Layer: f(t1,f1), N:N1
    • Horizontal Convolution layer: f(t2,f2), N:N2
    • Fully Connected Layer: Relu, 类似bottleneck,减少网络参数。N:NN
  • Decoding Stage:
    • Second Fully Connected Layer: this layer is reshaped to the same dimensions as the horizontal convolution layer
    • Deconvolution Layer of Horizontal CNN
    • Deconvolution Layer of Vertical CNN

输出的结果是最终分离的两个音频。
decoder和encoder用全连接层去连接,可能效果不会很好?

按照数据流图,下一步就是对输出结果做时频掩膜。

时频掩膜

  1. Mask 计算:

MASK

n表示第n种声源,一般n=2。这里就是对于CNN输出分别计算占比。

RES

不同声源的掩膜乘以混合输入信号(声源)的频谱,即分离这个声源的结果。

Loss是句loss。SGD + Adam

模型测评

数据集

Demixing Secrets Dataset 100 (DSD100)

该数据集由100个专业的全音轨歌曲。从The Mixing Secrets Free Multitrack Download Library下载,旨在评估从音乐中分离信号源的方法。

该数据集包含鼓、低音、人声和其他乐器的单独曲目,每首歌曲都以立体声波形呈现,采样率为44.1 KHz。
四个音源曲目混合使用一个专业的数字音频工作站为每首歌曲创建混合曲目。
数据集分为用于训练网络的开发集和用于测试网络的测试集。这两组歌曲各50首。

LOSS Optimize

Loss换成了L-diff使得效果有提升, Loss-diff参考《Deep Learning for Monaural Speech Separation. Acoustics, Speech and Signal Processing

此外,我们观察到,虽然声音、低音和鼓在歌曲中始终存在,但其他乐器变化很大。因此,网络无法准确地学习这一类别的代表,因为它试图学习一个一般的音色类,而不是要分离的乐器的特殊性。我们通过将Loss-sq修改为Loss-sq\’并加入一个额外的损失项Loss-other来克服这个问题。 Loss-sq\’ 不包括其他乐器对应声源,而Loss-other用于区分不同的来源,如“人声”和“other”,“低音”和“other”,以及“鼓”和“other”。

此外,我们注意到“other”音源由吉他和合成器等谐波乐器组成,它们与“人声”音源类似。为了强调这两种源在分离阶段的区别,引入了一个Loss-othervocals 部分,该部分表示估计的源和另一个源之间的差异。

最终的 LOSS

y1表示与人声相对应的音源,yN表示与其他乐器相对应的音源。

, and vocals were also experimentally determined to be 0:001, 0:01 and 0:03 respectively.

评估设置

将所有数据切分成20s的片段。

1
2
3
4
5
STFT:
Sample rate: 44.1Khz
Window length: 1024(23ms)
Hop length: 256(5.8ms)
Overlap: 75%

还使用50%的重叠来生成一个Batch(shuffle=True),以生成更多用于训练的数据。

关于音乐分离任务的评测方法,《Performance measurement in blind audio source separation》有

1
2
3
4
Source to Distortion Ratio (SDR)
Source to Interference Ratio (SIR)
Source to Artifacts Ratio (SAR)
Image to Spatial distortion Ratio (ISR).

本文为了做到low-latency,调整了很多参数:

1
2
3
Time context T in frames :25 (290 ms)
Filter shapes (t1; f1):(1; 513) (t2; f2):(12; 1),
the number of flters,N1(50) and N2(30) and the number of nodes in the bottleneck, NN(128)

在cpu(Intel Core i7-5820K 3.3GHz 6-Core Processor)上处理的结果:
结果

总体来看MLP和本文模型效果各有优劣,不过在速度上来说,还是cnn网络更具优势。

总结和展望

与其他同时对目标声源和其他背景声源进行建模的方法不同,该算法只对目标源进行建模,而其他声源主要用于增加它们与目标的不相似性。模型有低延迟应用中的潜在用途,例如人工耳蜗植入的再混合。