时域音频分离模型登GitHub热榜,效果超传统频域方法

新闻 前端
用AI对歌曲音轨的分离研究很多,不过大多数都是在频域上进行的。这类方法先把声音进行傅立叶变换,再从频谱空间中把人声、乐曲声分别抽离出来。

 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

用AI对歌曲音轨的分离研究很多,不过大多数都是在频域上进行的。这类方法先把声音进行傅立叶变换,再从频谱空间中把人声、乐曲声分别抽离出来。

时域音频分离模型登GitHub热榜,效果超传统频域方法

比如,上个月在GitHub上大热的Spleeter,就是这样。

[[284644]]

但是由于要计算频谱,这类工具存在着延迟较长的缺点。虽然之前也有一些对声音波形进行处理的方法,但实际效果与频域处理方法相差甚远。

最近,Facebook AI研究院提供了两种波形域方法的PyTorch实现,分别是DemucsConv-Tasnet,而且测试结果均优于其他常见的频域方法,目前登上了GitHub日榜

效果对比

话不多说,我们先来听听这段30s音频的分离实测效果。

vocals.mp3

00:30.069

来自量子位

这两种方法在MusDB上的训练结果已经接近了频域方法的最优结果,加入150首额外的训练数据后,总体信号失真比(overall SDR)达到了6.3,超过了其他所有方法。

时域音频分离模型登GitHub热榜,效果超传统频域方法

安装与使用方法

先将代码下载到本地,根据自己用CPU还是GPU来选择不同的安装环境:

  1. conda env update -f environment-cpu.yml # if you don’t have GPUs 
  2. conda env update -f environment-cuda.yml # if you have GPUs 
  3. conda activate demucs 

在代码库的根目录下运行以下代码(Windows用户需将python3换为python.exe):

  1. python3 -m demucs.separate --dl -n demucs PATH_TO_AUDIO_FILE_1 [PATH_TO_AUDIO_FILE_2 ...] # for Demucs 
  2. python3 -m demucs.separate --dl -n tasnet PATH_TO_AUDIO_FILE_1 ... # for Conv-Tasnet 
  3. # Demucs with randomized equivariant stabilization (10x slower, suitable for GPU, 0.2 extra SDR) 
  4. python3 -m demucs.separate --dl -n demucs --shifts=10 PATH_TO_AUDIO_FILE_1 

其中—dl将自动下载预训练模型,-n后的参数代表选用的预训练模型类型:

demucs:表示在MusDB上进行训练的Demucs;
demucs_extra:使用额外数据训练的Demucs;
tasnet:表示在MusDB上进行训练的Conv-Tasnet;
tasnet_extra:使用额外数据训练的Conv-Tasnet。

在—shifts=SHIFTS执行多个预测与输入和平均他们的随机位移(又名随机等变稳定)。这使预测SHIFTS时间变慢,但将Demucs的精度提高了SDR的0.2点。它对Conv-Tasnet的影响有限,因为该模型本质上几乎是等时的。原始纸张使用10的值,尽管5产生的增益几乎相同。默认情况下禁用它。

原理简介

Demucs是Facebook人工智能研究院在今年9月提出的弱监督训练模型,基于受Wave-U-Net和SING启发的U-Net卷积架构。

研究人员引入了一个简单的卷积和递归模型,使其比Wave-U-Net的比信号失真比提高了1.6个点。

时域音频分离模型登GitHub热榜,效果超传统频域方法

上图是Demucs的完整框架结构,右侧是编码器和解码器层的详细表示。

与之前的Wave-U-Net相比,Demucs的创新之处在于编码器和解码器中的GLU激活函数,以及其中的双向LSTM和倍增的通道数量。

Conv-TasNet是哥大的一名中国博士生Yi Luo提出的一种端到端时域语音分离的深度学习框架。

Conv-TasNet使用线性编码器来生成语音波形的表示形式,该波形针对分离单个音轨进行了优化。音轨的分离则是通过将一组加权函数(mask)用于编码器输出来实现。

时域音频分离模型登GitHub热榜,效果超传统频域方法

然后使用线性解码器将修改后的编码器表示形式反转回波形。由卷积的一维扩张卷积块组成的时间卷积网络(TCN)查找mask,使网络可以对语音信号的长期依赖性进行建模,同时保持较小的模型尺寸。

Conv-TasNet具有显着较小的模型尺寸和较短的延迟,是脱机和实时语音分离应用程序的合适解决方案。

传送门

项目地址:
https://github.com/facebookresearch/demucs

测试结果论文:
https://hal.archives-ouvertes.fr/hal-02379796/document

责任编辑:张燕妮 来源: 量子位
相关推荐

2023-10-20 12:45:00

AI数据

2023-02-22 15:02:52

GitHub指南

2024-01-04 14:46:10

AI开发者GPT

2019-12-26 15:31:17

腾讯框架开源

2023-10-10 07:19:07

Github开源库系统

2020-01-03 16:00:28

谷歌GitHub机器学习

2024-09-04 15:09:58

AI模型

2024-02-21 12:19:00

AI模型

2022-09-20 15:24:09

程序员项目

2024-02-01 13:02:00

AI模型

2023-04-19 08:14:24

2023-07-10 19:13:19

代数课程Strang

2022-06-07 10:49:32

算法代码迷宫

2021-12-14 15:54:01

AI 数据人工智能

2019-08-08 16:37:31

开源技术 数据

2021-10-20 11:12:49

工具代码开发

2024-04-15 12:28:00

AI模型

2020-04-16 15:10:56

COBOLGitHub编程语言

2024-05-28 14:46:00

2023-10-04 10:38:38

模型方法
点赞
收藏

51CTO技术栈公众号