谷歌推出全能扒谱AI:只要听一遍歌曲,钢琴小提琴的乐谱全有了

晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

听一遍曲子,就能知道乐谱,还能马上演奏,而且还掌握“十八般乐器”,钢琴、小提琴、吉他等都不在话下。

这就不是人类音乐大师,而是谷歌推出的“多任务多音轨”音乐转音符模型MT3

e8096cd95a4d879540752d30a8114555.png

首先需要解释一下什么是多任务多音轨。

通常一首曲子是有多种乐器合奏而来,每个乐曲就是一个音轨,而多任务就是同时将不同音轨的乐谱同时还原出来。

还原后的多音轨听起来是这样的:

听起来是不是很像原版演奏?事实上,谷歌MT3在还原多音轨乐谱这件事上,达到了SOTA的结果。

谷歌已将该论文投给ICLR 2022。

还原多音轨乐谱

相比与自动语音识别 (ASR) ,自动音乐转录 (AMT) 的难度要大得多,因为后者既要同时转录多个乐器,还要保留精细的音高和时间信息。

多音轨的自动音乐转录数据集更是“低资源”的。现有的开源音乐转录数据集一般只包含一到几百小时的音频,相比语音数据集动辄几千上万小时的市场,算是很少了。

f82d26e3e28ff30e999c073063bdb9ce.png

先前的音乐转录主要集中在特定于任务的架构上,针对每个任务的各种乐器量身定制。

因此,作者受到低资源NLP任务迁移学习的启发,证明了通用Transformer模型可以执行多任务 AMT,并显著提高了低资源乐器的性能。

作者使用单一的通用Transformer架构T5,而且是T5“小”模型,其中包含大约6000万个参数。

该模型在编码器和解码器中使用了一系列标准的Transformer自注意力“块”。为了产生输出标记序列,该模型使用贪婪自回归解码:输入一个输入序列,将预测出下一个出现概率最高的输出标记附加到该序列中,并重复该过程直到结束 。

MT3使用梅尔频谱图作为输入。对于输出,作者构建了一个受MIDI规范启发的token词汇,称为“类MIDI”。

6b1bd955d4a3e320e80123eb7e6a81f0.png

生成的乐谱通过开源软件FluidSynth渲染成音频。

此外,还要解决不同乐曲数据集不平衡和架构不同问题。

作者定义的通用输出token还允许模型同时在多个数据集的混合上进行训练,类似于用多语言翻译模型同时训练几种语言。

这种方法不仅简化了模型设计和训练,而且增加了模型可用训练数据的数量和多样性。

实际效果

在所有指标和所有数据集上,MT3始终优于基线。

训练期间的数据集混合,相比单个数据集训练有很大的性能提升,特别是对于 GuitarSet、MusicNet 和 URMP 等“低资源”数据集。

f49b8c00e12e2f09b9195eea4eceecab.png

最后再展示一段原音频,以及由MT3识别乐谱渲染的音频。大家可以感受一下区别:

原音频:

MT3:

最近,谷歌团队也放出了MT3的源代码,并在Hugging Face上放出了试玩Demo。

ce7a4a061ab4a27f326e571e96b0763d.png

不过由于转换音频需要GPU资源,在Hugging Face上,建议各位将在Colab上运行Jupyter Notebook。

论文地址:
https://arxiv.org/abs/2111.03017

源代码:
https://github.com/magenta/mt3

Demo地址:
https://huggingface.co/spaces/akhaliq/MT3

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值