📄 Rubato: Transcribing Piano Music with Timestamps
#音乐转录 #音乐信息检索 #时间序列分析 #多任务学习
🔥 10/10 | 前10% | #音乐转录 | #多任务学习 | #音乐信息检索 #时间序列分析 | arxiv
学术质量 6.7/7 | 影响力 1.8/2 | 可复现性 1.6/2 | 置信度 高
👥 作者与机构
作者:Nazif Can Tamer, Victoria Ebert, Guang Yang, Noah A. Smith 机构:Paul G. Allen School of Computer Science & Engineering, University of Washington; Allen Institute for AI
💡 毒舌点评
这篇论文像一个精心设计的“全套服务”。它没有满足于只做一个更好的钢琴MIDI转录器(AMT)或一个更好的MIDI到乐谱转换器(如M2ST),而是野心勃勃地想用一个模型(Rubato)端到端地完成从音频到带时间戳乐谱(TAST)的“终极任务”。这种雄心是值得称赞的,并且通过设计InterMo这种精巧的表示法和多任务训练框架(方言系统)在一定程度上实现了。然而,毒舌的批评在于:1)其核心模型架构(~180M参数的Canary变体)相对保守,并非架构创新,主要贡献在于任务定义、表示法和训练策略。2)所有实验严格局限于钢琴独奏,这是一个相对受限且声学/记谱法结构都较规整的领域。论文对“推广到其他乐器或多乐器”的讨论非常轻描淡写(仅在结论提一句),这是其影响力的天花板。3)尽管多任务训练看起来很美好,但“方言系统”显著增加了概念复杂度和训练配方的工程难度,论文并未提供方言间相互影响的深入分析或消融。4)作为顶会论文,在评估上花了大力气(OMR-NED、检索MAP、偏移约定分析),但这些评估指标本身(尤其是OMR-NED)是否真正代表了“乐谱质量”或“对人类演奏者的实用性”,存在讨论空间。总的来说,这是一篇扎实的“系统性”工作,在限定的领域内做到了当前最好,但距离一个能广泛适用于各种乐器、各种音乐风格的通用音乐转录系统,还有相当距离。
📌 核心摘要
本文针对自动音乐转录(AMT)中级联方法导致误差累积和中间表示信息丢失的问题,提出了时间对齐乐谱转录(TAST)作为端到端任务,联合预测音乐记谱法及其时间戳。核心贡献包括:1) 设计了名为InterMo的文本乐谱表示法,其局部节拍算术、有界开合匹配等特性适合自回归序列建模;2) 构建了名为Rubato的提示条件化编码器-解码器模型,通过“方言”系统在多个相关任务上进行多任务训练;3) 大量实验表明,Rubato在乐谱转录精度(OMR-NED)上优于所有基线系统(包括使用真实中间表示的级联系统),并在节拍检测等辅助任务上具有竞争力。论文深度分析了级联系统的瓶颈在于中间表示的信息丢失而非前端预测误差,并揭示了MIDI转录评估中偏移约定对结果的巨大影响。
🔗 开源详情
- 代码:论文中未提及Rubato模型本身的开源代码仓库链接。
- 模型权重:论文中未提及模型权重(如HuggingFace、ModelScope)的公开链接。
- 数据集:论文中提及将发布用于复现的乐谱摘录(score excerpts)和合成音频(synthesized utterances),但未给出具体下载链接。论文明确使用了以下开源数据集:
- MAESTRO v3:论文引用链接为 [6],通常可通过搜索引擎查找“MAESTRO dataset”获取。
- (n)ASAP:论文引用链接为[26, 10],其GitHub仓库为:https://github.com/craigsapp/asap-dataset。
- PDMX:论文引用链接为[25],是MuseScore公共领域乐谱的集合,具体获取方式需查阅原始引用论文。
- Demo:https://nctamer.github.io/rubato-transcription
- 复现材料:论文中提及将发布乐谱摘录和合成音频用于复现(“We release the score excerpts and synthesized utterances for reproducibility.”),但未给出具体链接。论文中未提供训练配置文件、完整检查点(checkpoint)或详细复现指南的链接。
- 论文中引用的开源项目:
- Canary-180M-Flash:Rubato模型架构基于此。论文引用链接为[24, 12],其开源实现通常位于NeMo-Aligner仓库:https://github.com/NVIDIA/NeMo-Aligner/tree/main/examples/nmt/nmt_nemo_aligner。
- Verovio:用于将InterMo序列渲染为乐谱。论文引用链接为[23],官方主页为:https://www.verovio.org。
- DawDreamer:用于将PDMX乐谱合成为音频。论文引用链接为[30],其GitHub仓库为:https://github.com/danilofalcao/dawdreamer。
- VirtuosoNet:用于生成富有表情的合成音频。论文引用链接为[31],其GitHub仓库为:https://github.com/salu133778/VirtuosoNet。
- SentencePiece:用于分词。论文引用链接为[29],其GitHub仓库为:https://github.com/google/sentencepiece。
- MidiTok:在附录中用于比较不同的音乐分词器。其GitHub仓库为:https://github.com/Natooz/MidiTok。
- Transkun (Tkun):作为基线系统使用。论文引用了其开源实现:https://github.com/Yujia-Yan/Transkun/tree/main。
- MuseScore:用于生成乐谱。论文引用链接为[7],其官网为:https://musescore.org。
- Humdrum, MEI, MusicXML:作为乐谱输出格式被支持。论文中引用了相关标准,但未提供具体项目链接。通常这些是社区维护的格式规范。
- Gemini:作为基线模型进行评估,但为闭源商业模型,非开源项目。
- Beat-This, Piano-A2S, PM2S, M2ST, Tkun, Aria-AMT, Bytedance, MT3:这些是论文中用作基线的模型或系统,其中部分为开源(如Tkun、MT3),但论文中主要将其作为对比项,未统一列出所有链接。部分系统的开源链接可能随其原始论文发布。
🏗️ 方法概述和架构
本文的方法由三个紧密关联的部分构成:InterMo表示法、Rubato模型以及多任务训练框架。
- InterMo (Intervals-and-Moments) 表示法 这是一种专为序列到序列建模设计的多声部乐谱文本表示法。它将乐谱分解为两类基本单元:
- Moments(时刻):表示音高状态变化(音符的开始和结束),直接对应于音频中可发现的事件,是连接记谱法与音频的锚点。例如,
PR:C5表示右手声部按下C5键,c5表示释放C5键。 - Intervals(区间):连接连续的时刻,表示时间流逝。分为两种:
- Metric intervals(节拍区间):以抽象节拍时间(如
1/4,1/8)编码连续时刻之间的持续时间。其核心特性是局部节拍算术:在两个小节线之间,所有区间值之和等于该小节声明的拍号(如图1中|3/4k-4后的1/4+1/8+1/8+1/8+1/8 = 3/4)。每个小节在节拍上是自包含的,不依赖于先前小节的上下文,这使得模型可以并行解码音频片段。 - Structural intervals(结构区间):持续时间为零,对应于小节线,将转录分割成小节。小节线处声明新的拍号和调号(如
|3/4k-4),重置局部的调性上下文。 InterMo序列遵循规范的序列化顺序:声部从低到高,偏移(释放)先于起始(按下)且按音高排序,声部变更标记(如PR:,PL:)仅在切换时发出。这种有界开合匹配特性使得每个(声部,音高)对的偏移和起始形成平衡的括号结构(Dyck-1语言),解决了多声部音乐的排列不变性问题,为自回归预测提供了明确无歧义的目标。此外,区间和时刻作为可分离的原语,允许将MIDI数据表示为只含时刻的子集,或将节奏/节拍表示为只含区间的子集。
- Metric intervals(节拍区间):以抽象节拍时间(如
Rubato 模型架构 Rubato是一个提示条件化的编码器-解码器模型,基于NVIDIA的Canary-180M-Flash架构从头训练,参数量约180M。其核心设计是提示条件化:通过不同的提示token(如
<|piano|><|score|><|timestamp|><|spell|>)来激活模型的不同输出模式,即生成不同的InterMo“方言”。在推理时,可针对TAST(时间对齐乐谱转录)、AMT(MIDI转录)或DBD(节拍/下拍检测)等任务使用对应的提示。方言系统与多任务训练 为了利用来源各异、标注粒度不同的数据集进行训练,论文设计了八个InterMo方言(任务),它们都是完整InterMo表示的投影:
- TAST: 完整输出,包含乐谱记谱、音高拼写和时间戳(来自(n)ASAP数据)。
- TASTlite: 同TAST但省略音高拼写(
<|spell|>),与MIDI音高词汇共享。 - A2S / A2Slite: 仅输出乐谱结构(无时间戳),可在大规模合成音频-乐谱对(来自PDMX数据集)上训练。
- AMTlite / AMT: 仅输出带时间戳的音高事件(不含乐谱结构),对应MAESTRO等仅提供MIDI标注的数据。AMT还额外包含速度(velocity)和延音踏板(CC64)等MIDI专用标记。
- DBDplus / DBD: 仅输出节拍区间、时间戳和节拍标记,省略所有音高事件,对应(n)ASAP中的节拍标注。
训练数据混合如表1所示:MAESTRO(159小时真实音频)仅用于训练AMT方言;(n)ASAP(30小时真实音频)提供带节拍和乐谱标注的数据,训练除AMT外的所有方言;PDMX(约2071小时合成音频)提供大规模乐谱和合成音频,训练TAST, A2S, AMT和DBD方言。训练时采用了子词正则化(α=0.25)、序列长度归一化(损失权重为 \(1/\sqrt{|T|}\))、时间戳标签平滑(中心权重0.9,±5个10ms的邻域)等技术来处理多任务、变长序列的训练挑战。推理时采用40秒编码器窗口、50%重叠的滑动窗口,并以超过20秒的时间戳token作为序列结束信号,实现分块并行解码。


💡 核心创新点
- 定义新任务(TAST):首次将时间对齐的乐谱转录作为端到端任务提出,联合预测记谱法和其在音频中的时间锚点,打破了传统AMT中级联方法将记谱与时间对齐分离的范式。
- 设计专用表示法(InterMo):提出了一种专为自回归序列建模优化的多声部乐谱文本表示法,其局部节拍算术、有界开合匹配、可分离原语等特性,有效解决了音乐序列化的关键难题(排列不变性、长距离依赖、多模态对齐)。
- 构建多任务框架(方言系统):设计了一套基于InterMo的“方言”投影系统,使得单一编码器-解码器模型能够灵活地利用不同标注粒度的数据集进行多任务学习,共享表示但输出任务特定的结果。
- 揭示级联系统瓶颈:通过严谨的实验对比(包括使用真实MIDI和下拍作为中间表示的oracle基线),证明现有级联方法性能瓶颈主要在于中间表示(如MIDI)本身的信息丢失,而不仅仅是前端预测误差。
📊 实验结果
论文在三个独立的钢琴录音测试集上进行了评估:ASAP(标准划分,102段录音)、ASAP-Beyer(竞争划分,25段录音)和ATEPP(YouTube录音,1495段录音,被强调为最公平的测试集,因所有基线模型均未见过)。主要评估任务包括乐谱转录质量和时间戳定位准确性。
乐谱转录质量(OMR-NED,↓): 论文使用OMR-NED(归一化编辑距离)来评估生成的乐谱与参考乐谱的差异。表2展示了详细结果。
| 系统 | ATEPP (n=1495) OMR-NED | ATEPP n_fail | ASAP (n=102) OMR-NED | ASAP n_fail | ASAP-Beyer (n=25) OMR-NED | ASAP-Beyer n_fail |
|---|---|---|---|---|---|---|
| End-to-End | ||||||
| Rubato (TAST) | 75.9±0.9 | 0 | 64.3±3.9 | 0 | 78.7±5.0 | 0 |
| Gemini 3.1 Pro | — | 0 | 98.6±0.3 | 12 | 98.9±0.4 | 2 |
| Gemini 3.1 Pro (Reasoning) | — | 0 | 98.6±0.4 | 0 | 98.3±0.8 | 0 |
| + in-Context Learning | — | 0 | 97.6±0.4 | 0 | 97.9±0.6 | 0 |
| Cascade (db.) | ||||||
| Beat-This → Piano-A2S | 88.9±0.3 | 0 | 86.6±1.2 | 0 | 89.7±2.0 | 0 |
| Cascade (MIDI) | ||||||
| Tkun → M2ST | 85.2±0.5 | 1 | 69.1±3.9 | 0 | 89.3±2.1 | 0 |
| Bytedance → M2ST | 86.5±0.4 | 0 | 76.5±3.2 | 0 | 90.3±1.8 | 0 |
| Aria → M2ST | 85.6±0.4 | 0 | 76.6±3.2 | 0 | 86.8±2.9 | 0 |
| MT3 → M2ST | 88.8±0.3 | 0 | 86.0±1.3 | 0 | 90.6±1.7 | 0 |
| Tkun → PM2S | 92.0±0.2 | 8 | 89.5±1.1 | 2 | 92.7±1.6* | 2 |
| Bytedance → PM2S | 92.5±0.2 | 1 | 90.8±1.1 | 0 | 93.8±1.3* | 0 |
| Aria → PM2S | 93.2±0.2 | 3 | 90.8±1.2 | 0 | 94.1±1.3* | 0 |
| MT3 → PM2S | 93.3±0.2 | 135 | 92.2±0.7 | 0 | 93.1±1.8* | 0 |
| Oracle (db.) | ||||||
| Oracle Db. → Piano-A2S | — | 0 | 77.8±2.5 | 0 | 87.7±2.8 | 0 |
| Oracle (MIDI) | ||||||
| Oracle MIDI → M2ST | — | 0 | 69.3±3.6 | 0 | 87.9±3.0 | 0 |
| Oracle MIDI → PM2S | — | 0 | 89.8±1.1 | 1 | 92.6±2.1* | 1 |
(表2注:标记表示训练数据重叠。)*
主要发现:
- Rubato (TAST) 在所有三个测试集上均取得了最低的OMR-NED,显著优于所有级联基线。
- 在ASAP测试集上,使用真实Disklavier MIDI的oracle级联系统(如Tkun → M2ST)与使用预测MIDI的版本相比,OMR-NED没有显著改善(在置信区间内),这表明级联方法的瓶颈在于从MIDI到乐谱的转换步骤,而非前端MIDI转录。
- 使用oracle下拍的Piano-A2S系统(77.8)相比使用预测下拍的版本(86.6)有显著提升,表明从表现力演奏中恢复小节边界本身就是一个难题。
- Gemini 3.1 Pro在零样本和ICL模式下的OMR-NED接近100%,表明其主要依靠记忆而非音频转录。
时间戳定位准确性(F1,↑): 表3评估了Rubato在不同方言下以及与专用系统在下拍检测、节拍检测和MIDI音符检测任务上的表现。
| 模型 | ASAP F1_downbeat | ASAP F1_beat | ASAP F1_note | MAESTRO F1_note | MAESTRO F1_note+vel |
|---|---|---|---|---|---|
| Timestamp Accuracy of Sheet Music Transcription | |||||
| Rubato (TAST) | 67.8±3.1 | 75.8±2.9† | 91.0±1.8 | 87.1±2.0 | — |
| Tkun → PM2S | 22.4±3.7 | 56.0±1.8 | 95.2±0.9 | 92.3±0.8 | 91.8±0.9 |
| Beat Detection | |||||
| Rubato (DBD) | 65.2±2.7 | 82.6±2.5 | — | — | — |
| Beat-This | 64.9±2.5 | 79.9±2.6 | — | — | — |
| MIDI Note Detection (AMT) | |||||
| Rubato (AMT) | — | — | 97.3±0.5 | 97.0±0.4 | 94.0±0.6 |
| Tkun | — | — | 98.8±0.2 | 98.3±0.2 | 97.9±0.3 |
| Bytedance | — | — | 97.9±0.3 | 96.8±0.4 | 95.0±0.5 |
| Aria-AMT | — | — | 98.3±0.3 | 97.6±0.3 | 96.4±0.5 |
| MT3 | — | — | 95.6±0.6 | 95.7±0.4 | — |
(表3注:†表示非直接预测,是从转录的乐谱中后验推导的。)
主要发现:
- 下拍检测:Rubato (TAST) 在ASAP上的下拍F1(67.8)略高于专用下拍检测模型Beat-This(64.9)和Rubato自己的DBD方言(65.2)。这表明将下拍预测为与乐谱结构耦合的小节线符号,可以提供更丰富的上下文。
- 节拍检测:Rubato (TAST) 的节拍F1(75.8)为后验推导值,低于专用模型Beat-This(79.9)和Rubato (DBD)(82.6),这是因为TAST并不直接预测节拍点,其输出依赖于乐谱结构。
- MIDI音符检测:Rubato (AMT) 在MAESTRO上的音符F1(97.0)接近但略低于顶尖专用系统Tkun(98.3),但高于MT3(95.7),证明了统一模型在该任务上的竞争力。Rubato (TAST) 的音符F1(91.0 on ASAP, 87.1 on MAESTRO)显著低于AMT方言,但这主要是因为目标不同:TAST追求的是与乐谱对齐的表示,而非完全复现演奏中的每一个音符事件(包括装饰音、琶音等)。


🔬 细节详述
论文在分析部分(第5节及附录)进行了深入探讨,超越了标准的性能指标:
- 检索与身份保持分析:利用ATEPP数据集中同一作品由不同演奏者录制的特点,评估转录结果在“作品检索”(MAP_work)和“演奏者检索”(MAP_performer)上的能力。表4显示,即使不训练用于检索,所有转录系统在作品检索上都具有竞争力。特别地,Rubato展现了无与伦比的平衡:它同时取得了最佳的OMR-NED、最高的MAP_work,并且在不包含时间戳的情况下,其MAP_performer也显著高于主要竞争对手Tkun→M2ST。当加入相对时间戳后,MAP_performer进一步提升至72.3%,与Tkun→PM2S持平,但后者的OMR-NED差很多。这证明了InterMo表示法能够同时保留作品的结构一致性和表演者的表现力细节。
- InterMo表示法的独立贡献:论文通过在级联系统(PM2S和M2ST)的原始���出上应用InterMo进行重新表示(而非使用其原生tokenizer如REMI或compound tokens),发现MAP_work和MAP_performer均得到提升。这证明了InterMo的规范化特性本身就能提升下游任务性能,其益处独立于训练在其上的模型。
- MIDI偏移约定深入分析:附录B.1详细剖析了MIDI音符偏移定义(KeyOff vs PedOff)对下游评估的巨大影响。在相同模型(Tkun)上,仅切换偏移定义,就可以使MIDI转录的“起始+偏移”F1从42.6%变为93.4%(表5),这是一个超过50个百分点的、几乎完全由评估约定引起的差异。论文通过图3的端到端实验(仅更换上游AMT模型)表明,使用KeyOff偏移的MIDI输入,能为下游的乐谱转录(OMR-NED提升~1.5点)和检索任务带来更优的结果。因此,论文建议AMT评估应明确报告偏移约定。
- TAST与AMT目标差异量化:附录B.2分析了TAST在音符F1上的差距有多少源于模型错误,多少源于目标不匹配。分析表明,即使是完美对齐的乐谱标注,在MAESTRO的MIDI评估下也只有93.4的音符F1。主要的不匹配来自真实的演奏-乐谱差异(4.4 F1点)和对琶音等事件的折叠(2.2点)。这解释了为何TAST的音符F1低于AMT。
- n-gram稳定性分析:附录C通过分析不同大小n-gram的检索性能,揭示了不同转录系统的特性。Tkun→M2ST在高n-gram下保持稳定的MAP_work,但MAP_performer低;Tkun→PM2S则相反。Rubato在两种检索指标上均表现优异且稳定,表明其转录在长期结构一致性和表演者细节保留上取得了良好平衡。
⚖️ 评分理由
- 创新性 (3/3):提出TAST这一新端到端任务、设计专为序列建模优化的InterMo表示法、以及将多任务“方言”系统应用于音乐转录,均具有显著的创新性和价值,是论文最核心的贡献。
- 技术严谨性 (1.5/1.5):方法设计(InterMo的性质证明、训练策略如标签平滑和长度归一化)合理,实验设计严谨(精心构建ATEPP测试集以避免数据泄露、与oracle基线对比、深入的消融与分析),技术报告清晰。
- 实验充分性 (1.3/1.5):实验非常全面,在三个测试集上评估了主要任务,并扩展至相关任务(节拍/下拍检测、MIDI转录)。深入分析了表示法对下游任务的影响和评估指标本身的问题。稍有不足在于,未对InterMo在非钢琴乐器上的潜在性能进行任何初步探索或讨论(即使是合成数据实验),这限制了结论的普适性。
- 清晰度 (0.9/1):论文写作清晰,图表(如图1,图2,图6,图7)很好地辅助了方法解释和结果分析。InterMo的序列化示例(图1右侧)非常有助于理解。扣分点在于,多任务训练的“方言”系统概念相对复杂,初次阅读需要时间消化。
- 影响力 (1.8/2):在自动音乐转录领域,本文定义了新的任务方向(TAST),并给出了当前最优的解决方案,对推动该领域从“级联”转向“端到端”有明确影响。InterMo表示法本身也可能被其他工作采用。影响力扣分主要基于其完全局限于钢琴的验证范围,其影响目前主要限定于钢琴独奏转录。
- 开源 (1.2/1.5):论文承诺发布用于复现的乐谱摘录和合成音频(PDMX相关),并提供了模型演示页面。然而,Rubato模型本身的代码、权重以及训练代码均未开源,这严重影响了其他研究者复现、比较和基于此工作的能力。这是开源维度的主要扣分项。
- 可复现性 (0.4/0.5):论文提供了模型演示、关键数据集信息(MAESTRO, (n)ASAP, PDMX)和依赖的开源工具(Verovio, DawDreamer等)。训练配方(数据混合、子词正则化、标签平滑参数)有详细说明。然而,由于模型代码和权重未开源,完全可复现性依然无法实现。扣0.1分。
🚨 局限与问题
- 乐器泛化性未验证:这是本文最明显的局限。InterMo表示法理论上可扩展至其他复调乐器,但论文完全没有在任何其他乐器(如吉他、弦乐四重奏)甚至MIDI合成的多乐器数据上进行实验验证。所有结论均基于钢琴,其对更复杂声学或记谱法结构的适用性未知。
- 模型规模与架构探索不足:模型基于一个中等规模的预训练架构(Canary-180M-Flash)从头训练。论文未探讨模型规模扩大后的性能变化,也未尝试将InterMo与更先进的音频编码器(如基于AST或SSL的模型)或更大规模的预训练语言模型结合,这可能限制了性能上限。
- 方言系统的复杂性与分析缺失:“方言”系统虽然强大,但引入了显著的概念和实现复杂度。论文未提供任何消融实验来分析不同方言、不同数据混合比例对最终性能的独立贡献或相互影响。例如,PDMX合成数据中的“表现力渲染”(由VirtuosoNet生成)对TAST性能的提升到底有多大,未能量化。
- 评估指标的局限性:OMR-NED是衡量乐谱编辑距离的好指标,但它无法直接反映生成乐谱的可读性、演奏友好度或音乐逻辑合理性。论文未进行任何主观听辨或专家评估来验证生成的乐谱是否真正“可用”。
- 推理速度与实时性:论文报告了不同任务的RTFx(实时倍数),TAST约为21x(即处理20秒音频需要约1秒)。虽然对于离线处理可能足够,但对于实时交互式应用(如现场演奏辅助)来说,这个速度可能不足。论文未讨论优化方向。
- 对“时间戳”的依赖性:TAST任务的核心是输出时间戳,但这些时间戳的精度和意义完全依赖于训练数据(主要是Disklavier的~3ms精度)。对于普通麦克风录音,如何准确获得这种精度的时间戳进行监督,是一个未解决的实际应用问题。
- 基线对比的公平性质疑:虽然ATEPP测试集避免了数据泄露,但所有MIDI级联基线的前端(Tkun, MT3等)都是在包含ASAP数据上训练的。尽管测试集是隔离的,但这些前端模型本身可能从ASAP的钢琴特性中学习到了一些先验知识,这在一定程度上可能有利于它们,而Rubato需要自己从数据中学习所有这些知识。
📷 论文图片
