
摘要
单通道、说话人无关的语音分离方法最近取得了显著进展。然而,这些方法的准确性、延迟和计算成本仍然不足。大多数先前的方法通过混合信号的时间频率表示来解决分离问题,这种方法存在若干缺点,包括信号相位和幅度的解耦、时间频率表示在语音分离中的次优性以及计算频谱图时的长时间延迟。为了解决这些问题,我们提出了一种全卷积时域音频分离网络(Conv-TasNet),这是一种用于端到端时域语音分离的深度学习框架。Conv-TasNet 使用线性编码器生成优化后的语音波形表示,以便分离各个说话人。通过将一组加权函数(掩码)应用于编码器输出来实现说话人的分离。修改后的编码器表示随后通过线性解码器逆变换回波形。掩码是通过一个由堆叠的一维膨胀卷积块组成的时域卷积网络(Temporal Convolutional Network, TCN)找到的,这使得网络能够在保持较小模型规模的同时建模语音信号的长期依赖关系。所提出的 Conv-TasNet 系统在分离两说话人和三说话人混合信号方面显著优于以往的时间频率掩码方法。此外,在双说话人语音分离中,Conv-TasNet 在客观失真度量和人类听者主观质量评估方面均超过了多个理想的时间频率幅度掩码。最后,Conv-TasNet 具有显著更小的模型规模和更短的最小延迟,使其成为离线和实时语音分离应用的理想解决方案。
代码仓库
JusperLee/Conv-TasNet
pytorch
pfnet-research/meta-tasnet
pytorch
GitHub 中提及
IliasDG/Demucs_Project
pytorch
GitHub 中提及
alibabasglab/frcrn
pytorch
GitHub 中提及
naplab/Conv-TasNet
官方
pytorch
mpariente/asteroid
pytorch
GitHub 中提及
muhammad-ahmed-ghani/svoice_demo
pytorch
GitHub 中提及
kaituoxu/Conv-TasNet
pytorch
GitHub 中提及
robieta/demucs
pytorch
GitHub 中提及
facebookresearch/svoice
pytorch
GitHub 中提及
adamwhitakerwilson/speaker_separation
pytorch
GitHub 中提及
xiaolianggeitazgh/Conv-Tasnet
mindspore
facebookresearch/demucs
pytorch
GitHub 中提及
funcwj/conv-tas-net
pytorch
GitHub 中提及
saurjya/asteroid
pytorch
GitHub 中提及
funcwj/conv-tasnet
pytorch
GitHub 中提及
mitmedialab/unet4birds
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| music-source-separation-on-musdb18 | Conv-TasNet | SDR (avg): 5.73 SDR (bass): 5.66 SDR (drums): 6.08 SDR (other): 4.37 SDR (vocals): 6.81 |
| music-source-separation-on-musdb18 | Conv-TasNet (extra) | SDR (avg): 6.32 SDR (bass): 7.00 SDR (drums): 7.11 SDR (vocals): 6.74 |
| speech-enhancement-on-ears-wham | Conv-TasNet | DNSMOS: 3.47 ESTOI: 0.70 PESQ-WB: 2.31 POLQA: 2.73 SI-SDR: 16.93 SIGMOS: 2.69 |
| speech-separation-on-wsj0-2mix | Conv-TasNet | Number of parameters (M): 5.1 SI-SDRi: 15.3 |