HyperAIHyperAI

Command Palette

Search for a command to run...

MuScriptor:一个面向多乐器音乐转录的开放模型

Simon Rouard Carl-Johann Simon-Gabriel Michael Krause

摘要

现有的自动音乐转录方法通常局限于单乐器录音,或在复杂的真实音乐混音中表现不佳。尽管先前的工作利用了合成训练数据,但所得模型泛化能力差,导致在真实多乐器场景下的转录输出基本无法使用。在本工作中,我们分析了合成数据在预训练中的有效性,同时将其与在真实音乐音频上的微调以及使用强化学习的后训练相结合。我们进一步引入了对乐器存在与否的条件控制,以定制转录结果。最后,我们发布了MuScriptor,一个开放权重的多乐器音乐转录模型,能够处理来自多种音乐风格的真实世界音乐录音。

一句话总结

来自Kyutai、Mirelo AI和IRCAM-CNRS索邦大学的研究人员推出了MuScriptor,一个用于多乐器音乐转录的开放权重模型,该模型克服了以往单乐器或仅合成方法的局限,通过结合合成数据预训练、在真实音乐音频上微调、强化学习后训练以及乐器存在条件化,实现了对多样音乐风格中真实录音的准确转录。

核心贡献

  • 一种训练策略,结合合成数据预训练、在真实音乐音频上微调以及使用强化学习(组相对策略优化)进行后训练,在多乐器转录中显著优于MT3基线。
  • 引入推理时乐器条件化,允许用户指定存在的乐器并定制转录输出。
  • MuScriptor作为首个有效的开放权重多乐器音乐转录模型发布,该模型适用于多种真实世界风格,并可通过乐器条件化进行配置。

引言

自动音乐转录(AMT)将音频录音转换为如MIDI这样的符号化表示,这是音乐分析、制作和生成建模的基础能力。虽然单乐器转录已经成熟,但通用的多乐器转录仍然具有挑战性,因为模型必须处理多种风格中多样的音色、重叠的泛音和录音室效果。先前的工作,例如MT3,严重依赖合成训练数据,导致在应用于真实世界音乐时出现严重的领域偏移,使得输出对于实际应用来说错误过多。作者引入了MuScriptor,一个开放权重、仅解码器的Transformer,通过在一个包含170,000个真实录音(11,000小时)并对齐音符标注的大数据集上训练,辅以合成数据预训练、高质量转录上的强化学习对齐,以及可选的乐器条件化来稳定和定制预测,从而克服了这些限制。

数据集

作者从三个主要来源构建了一个多乐器自动音乐转录数据集,每个来源在训练和评估中扮演不同角色。

  • 合成数据 (D_Synth):从公开来源(例如Lakh MIDI)和商业提供商收集了大约145万个MIDI文件,涵盖流行音乐和西方古典音乐。在训练期间,一个实时流水线随机选择片段,应用符号化增强(音高移位、速度变化、力度调整、乐器随机化),使用随机音色库(超过250个)合成增强后的MIDI,并添加随机失谐。这创建了一个实际上无限的音频流,并配有精确的音符标注。合成集用于大规模预训练。

  • 真实音乐数据 (D_Real):一个内部数据集,包含170,000个真实音频录音(超过11,000小时),并带有对齐的音符标注。标注通过音频-符号同步获得:在标注的小节线之间进行线性插值,或者在缺少小节标注时使用基于色度和起始点特征的动态时间规整。通过阈值化时间规整距离并强制执行最大时间膨胀因子(例如,在一个序列中过去8秒后,另一个序列必须至少前进1秒)来过滤低质量对齐。数据集包含17个在至少5%的音轨中出现的乐器组,表明乐器种类多样。D_Real用于监督训练。

  • 强化学习数据 (D_RL):来自D_Real的一个300条音轨的子集,经过人工验证具有高标注质量。这些音轨从D_Real中保留出来,专门用于强化学习后训练。

  • 测试数据 (D_Test):从D_Real中选出的372条音轨的独立集合,因其标注准确性高而被选中。这些音轨从D_Real中移除,并且任何标题相似的训练音轨也被排除以确保干净划分。D_Test侧重于多乐器作品,以匹配真实世界应用场景。

所有子集都用于训练一个通用的AMT模型:合成数据用于预训练,真实数据用于监督微调,RL子集用于策略改进,测试集用于最终评估。合成流水线实时构建片段,而真实数据使用与音符级标注对齐的完整录音。除了合成流水线中的随机片段选择外,没有应用固定裁剪。

方法

作者利用一个仅解码器的Transformer架构,通过从短音频片段的梅尔频谱图自回归预测类似MIDI的token序列,来执行自动音乐转录。该模型有四种规模,参数范围从60M到1.3B,在自注意力头数、堆叠层数和潜在维度上有所不同。

模型接受两个主要输入:代表5秒音频片段的梅尔频谱图,以及需要转录的目标乐器列表。原始音频波形(16kHz,单声道)被转换为梅尔频谱图,使用STFT,其中 nFFT=2048n_{\text{FFT}} = 2048nFFT=2048,跳跃大小为160个样本(产生100Hz帧率),以及512个bin的梅尔滤波器组。对于乐器条件化,模型获得完整音轨中存在的乐器集合,从128个MIDI乐器映射到36个子组。真实音乐数据集中这些乐器类别的分布是多样的,如下图所示。

为了将这些条件信号输入模型,梅尔频谱图被投影到Transformer的潜在维度,并与通过可学习查找表获得的当前乐器类别的嵌入进行拼接。这个嵌入序列作为Transformer模型的前缀条件。

模型使用标准交叉熵损失在token化的音符标注上进行教师强制训练。训练运行1M步,批量大小为64,使用AdamW优化器(β1=0.9,β2=0.95\beta_1 = 0.9, \beta_2 = 0.95β1=0.9,β2=0.95),学习率为 1e41e-41e4,采用2000步的线性预热,然后余弦调度。每个条件信号以0.2的概率独立丢弃,以便于无分类器引导。在推理时,通过argmax解码获得转录结果,对两个条件都应用无分类器引导,强度为 αCFG=2\alpha_{\text{CFG}} = 2αCFG=2。这种乐器条件化允许定制转录结果,并在片段边界上获得连贯的转录。

为了进一步提高结果,作者在一个高质量的真实音乐数据子集上对模型进行后训练,使用一种策略梯度算法,该算法结合了REINFORCE估计器和组相对优势归一化。该流水线中使用的不同数据集上活跃乐器的分布如下所示。

在每个训练步骤中,模型被设置为评估模式,为批次中的每个音频片段生成 GGG 个独立的转录,通过从自回归分布中采样,使用固定温度 τ\tauταCFG=1\alpha_{\text{CFG}} = 1αCFG=1)。对于每个生成的序列 yi,gy_{i,g}yi,g,根据真实MIDI参考计算一个标量奖励,作为三个音符级F分数的总和:

ri,g=Fonset+Fframe+Foffsetr_{i,g} = F_{\text{onset}} + F_{\text{frame}} + F_{\text{offset}}ri,g=Fonset+Fframe+Foffset

遵循组相对优势归一化方法,组内优势通过标准化同一片段 GGG 个输出的奖励来计算:

A^i,g=ri,gμiσi+ε\hat{A}_{i,g} = \frac{r_{i,g} - \mu_i}{\sigma_i + \varepsilon}A^i,g=σi+εri,gμi

其中 μi=1Ggri,g\mu_i = \frac{1}{G} \sum_g r_{i,g}μi=G1gri,gσi=1Gg(ri,gμi)2\sigma_i = \sqrt{\frac{1}{G} \sum_g (r_{i,g} - \mu_i)^2}σi=G1g(ri,gμi)2ε=108\varepsilon = 10^{-8}ε=108

然后模型通过标准的REINFORCE目标进行更新,其中每个生成序列的对数似然由它的优势加权:

LRL=1BGi,gA^i,gLCE(θ,τ;yi,g)\mathcal{L}_{\text{RL}} = \frac{1}{B \cdot G} \sum_{i,g} \hat{A}_{i,g} \cdot \mathcal{L}_{\text{CE}}(\theta, \tau; y_{i,g})LRL=BG1i,gA^i,gLCE(θ,τ;yi,g)

其中 LCE(θ,τ;y)\mathcal{L}_{\text{CE}}(\theta, \tau; y)LCE(θ,τ;y) 是模型在温度 τ\tauτ 下对生成序列的平均交叉熵。实际上,该优化在5秒片段上使用 G=8G=8G=8,温度 τ=0.75\tau = 0.75τ=0.75,批量大小为8执行。

实验

评估使用标准的 mir_eval 指标来评估多乐器转录,模型在合成数据上预训练,在真实音频上微调,并通过强化学习进一步精炼。定性结果显示,每个训练阶段都提高了性能,特别是真实数据微调,RL后训练减少了假阴性并提高了起始点准确性;无分类器引导对大多数模型有益,但对RL训练的模型没有。消融实验表明,当真实数据有限时,合成预训练最有价值,梅尔频谱图优于其他音频表示,更大的模型产生更好的结果,由于token化约束,重叠音符仍然是一个挑战。

从仅使用合成数据开始,MuScriptor 在帧F1上已经超过了 YourMT3+ 基线。添加真实数据将各项指标提高了大约20个百分点,随后在高质量数据上进行强化学习获得了最佳总体分数,起始点F1达到60.4。无分类器引导提高了纯合成模型的起始点,但在完整训练后没有提供好处。纯合成模型实现了帧F1 51.3,超过了 YourMT3+ 基线的45.54。在真实数据上微调使得帧F1提升到69.4,起始点F1从26.1提升到52.5。对合成模型应用CFG(α=2)将起始点F1从26.1提升到34.5,但完全训练的模型没有从CFG获得改进。经过RL后训练,最佳模型达到起始点F1 60.4,偏移F1 49.0,多音高F1 48.2。

在两个未见过的数据集 Bach10 和 Dagstuhl ChoirSet 上,MuScriptor 与 YourMT3+ 相比,显著提高了帧级和多音高F1分数,而起始点和偏移F1普遍较低。最大的帧F1增益发生在 Dagstuhl ChoirSet 上,分数从51.0上升到80.7,多音高F1从2.6上升到11.5。在 Bach10 上,帧F1也显著增加,但起始点和偏移分数下降,这与对某些音乐风格(如合唱)标注精确时间边界的挑战一致。MuScriptor 在 Dagstuhl ChoirSet 上将帧F1提高了近30个点(从51.0到80.7),多音高F1从2.6提高到11.5。在 Bach10 上,MuScriptor 的起始点和偏移F1分数较低,在 Dagstuhl ChoirSet 上仍然很低,这突显了为合唱音乐标注精确音符起始点和偏移的难度。

在推理时提供乐器条件化会带来所有评估指标的一致改进,包括起始点、帧、偏移、鼓和多音高F1分数。模型训练时使用了条件化丢弃,因此它可以在有或没有明确乐器标签的情况下运行,但提供音轨中存在的真实乐器会产生适度的增益。帧和鼓F1的收益最大,而偏移F1增长最小。在推理时提供真实乐器标签,相对于无条件的基线,改善了所有F1分数。帧F1和鼓F1观察到最显著的增益,而偏移F1仅略有改善。由于训练期间的条件化丢弃,模型可以在有条件和无条件模式下运行,但提供乐器元数据时性能更好。

将 MuScriptor 模型从60M参数扩展到1.3B参数,在所有转录指标上产生了一致的改进,最大的模型获得了最高分。最小的60M模型已经实现了强劲的帧F1 65.7,表明在资源受限场景中的实用性。更大的模型容量持续改善起始点、帧、偏移、鼓和多音高F1分数,1.3B版本达到了最高性能。即使是60M参数模型也获得了帧F1 65.7,展示了适合低资源环境的稳健转录质量。

梅尔标度频谱图在起始点、帧、偏移和多音高F1指标上获得了最高的自动音乐转录分数。相同100Hz帧率的幅度常数Q变换表现稍差,而像Encodec和MERT这样的学习表示性能明显较低,表明信号贴近表示对于该任务更有效。梅尔频谱图输入在所有表示中实现了最佳总体F1分数,在起始点、帧、偏移和多音高指标上均优于其他表示。幅度CQT,尽管具有相同的帧率和类似的时频设计,在所有指标上显示出持续但小幅的下降。Encodec,一种50Hz帧率的神经音频编解码器,导致最大的性能下降,帧F1从68.0降至58.0。75Hz的MERT嵌入在鼓F1上比梅尔频谱图基线略有提高,但降低了所有其他指标。

MuScriptor 在多个维度上进行了评估,包括训练数据组成、模型缩放、输入表示、推理条件化以及对未见数据集的泛化。仅合成数据已经超过了基线,随后使用真实数据微调再进行强化学习,获得了最佳的总体转录分数。梅尔频谱图输入被证明最有效,更大的模型持续改善所有指标,在推理时提供乐器标签提供适度的收益,而对合唱音乐的泛化显著提高了帧级准确性,但突显了标注精确时间边界的挑战。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供