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

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

首先须要阐明一下什么是多任务多音轨。

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

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

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

还原多音轨乐谱

比较于自动语音识别 (ASR) ,自动音乐转录 (AMT) 的难度要大得多,由于后者既要同时转录多个乐器,还要保留风雅的音高和韶光信息。

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

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

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

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

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

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

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

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

作者定义的通用输出token还许可模型同时在多个数据集的稠浊上进行演习,类似于用多措辞翻译模型同时演习几种措辞。

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

实际效果

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

演习期间的数据集稠浊,比较单个数据集演习有很大的性能提升,特殊是对付 GuitarSet、MusicNet 和 URMP 等“低资源”数据集。

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

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

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

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

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