0. 摘要
本文介绍了面向研究人员的,基于PyTorch的音频源分离工具包Asteroid。受最成功的神经源分离系统的启发,它提供了构建这样一个系统所需的所有神经构建块。为了提高可复现性(reproducibility),还提供了通用音频源分离数据集上的Kaldi风格的recipe。本文介绍了Asteroid的软件体系结构及其最重要的特点。通过展示使用Asteroid配方获得的实验结果,我们表明我们的实现至少与参考文献中报告的大多数结果相当。该工具包可在github.com/mpariente/asteroid上公开获取。
1. 引入
声源分离是将混合信号分离为独立的声源信号的一种方法,它是在真实环境[1]中实现鲁棒语音处理的关键。在过去的十年中,基于概率建模、非负矩阵分解、声源定位和/或波束形成的经典开源工具包如fast[2]、HARK[3]、ManyEars[4]和openBliSSART[5]都取得了成功。然而,目前基于深度学习的方法在很大程度上优于它们,至少在单通道源分离任务上是如此[6-10]。
一些基于深度学习的源分离的开源工具包已经出现。这些包括nussl(西北大学源分离库)[11],ONSSEN(一个开源的语音分离和增强库)[12],Open-Unmix[13],以及无数的对重要论文做复现的独立的实现:
kaituoxu/TasNet, kaituoxu/Conv-TasNet, yluo42/TAC,
JusperLee/Conv-TasNet, JusperLee/Dual-Path-RNN-Pytorch,
tky1117/DNN-based source separation ShiZiqiang/dual-path-RNNs-
DPRNNs-based-speech-separation
nussl和ONSSEN都是用PyTorch[14]编写的,并为几种最先进的方法提供培训和评估脚本。但是,没有提供数据准备步骤,并且实验不容易从命令行配置。Open-Unmix确实提供了一个从数据准备到评估的完整管道,但仅限于音乐源分离任务上的Open-Unmix模型。对于独立的实现(复现),其中一些只包含模型,而另一些提供训练脚本但假定已经生成了训练数据。最后,很少有人提供完整的pipeline。在提供评估脚本的那些里,经常可以发现差异,例如,丢弃短的话语或将话语分成块并丢弃最后一个。
本文描述了Asteroid(在Steroid上做的音频源分离),一个新的基于深度学习的音频源