Transcoda: End-to-End Zero-Shot Optical Music Recognition via Data-Centric Synthetic Training¶
会议: NeurIPS 2026
arXiv: 2605.10835
OpenReview: https://openreview.net/forum?id=8pzICTUGAk
代码: https://github.com/btrkeks/transcoda
领域: 音频/语音
关键词: 光学音乐识别, 端到端转录, 合成数据增强, 目标规范化, 语法约束解码
一句话总结¶
针对光学音乐识别(OMR)真实标注数据匮乏与乐谱编码多义性难题,Transcoda 提出了 21 阶段目标规范化与高保真合成退化管线,仅凭 59M 轻量编码器-解码器架构与 6 小时单卡合成训练,便在零样本真实历史乐谱转录上大幅超越十亿级参数大模型。
研究背景与动机¶
光学音乐识别(OMR)旨在将乐谱图像自动转换为机器可读的结构化文本。与传统的文本 OCR 相比,乐谱在二维平面上构成了高度稠密的图结构:音符头、符干、符尾、临时变音记号、五线谱系统以及节拍约束在时空维度上深度交织。然而,现代端到端神经模型严重受限于真实物理扫描乐谱大规模标注数据的匮乏,不得不完全依赖合成渲染乐谱训练,并在真实历史乐谱扫描件上进行零样本迁移。现有合成方案生成的样本往往版面稀疏、文本目标过短,缺乏真实乐谱的多声部互锁复杂性,导致自回归解码器一旦发生微小的局部视觉预测偏差,就会陷入不可逆的级联解码崩溃。
更根本的症结在于乐谱文本表示的非唯一性(Non-uniqueness)。在主流的 Humdrum **kern 编码格式中,同一种视觉乐谱在语法上允许多种等价的文本表示(例如和弦内部音符书写次序随意、等价拍号标记混用、冗余附加记号等)。这种一对多的映射给自回归模型带来了严重的目标不确定性,迫使解码器消耗大量容量去拟合源数据集的排版方言而非音乐几何本质,显著加剧了跨域迁移时的退化。
面对这一困境,本文主张将重心从盲目扩张模型参数转向数据中心化(Data-Centric)的训练范式。通过彻底消除训练目标的编码多义性,并构建逼近真实物理排版密度与磨损的合成渲染管线,端到端小模型完全能够在零样本评测中释放出远超巨型模型的转录精度与几何鲁棒性。核心 idea:通过构建 21 阶段确定性目标规范化管线消除 **kern 的一对多表征歧义,结合多声部拼接与物理退化渲染,以 59M 轻量架构在纯合成训练下实现高精度的零样本历史乐谱识别。
方法详解¶
整体框架¶
Transcoda 采用紧凑的视觉编码器-解码器(Vision-Encoder-Decoder)端到端序列生成架构,整体参数量仅为 58.8M。其核心管线包括三个协同部分:紧凑的高分辨率视觉骨干网络与自回归解码器、由 21 个阶段组成的确定性目标规范化数据引擎、以及推理阶段可选的双层语法约束解码器。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["输入乐谱图像<br/>1485 × 1050 px"] --> B["1. 紧凑视觉编码与解码架构<br/>ConvNeXt-V2 抽取特征 + 2D 正弦位置编码 + 8层 Transformer 解码"]
C["原始符号语料库<br/>PDMX / Grandstaff / OpenScore"] --> D["2. 21 阶段确定性目标规范化引擎<br/>剥离外围通道 + 视听对齐 + 字符级字符/音高排序 + 矛盾修复"]
D --> E["3. 逼真乐谱渲染与物理退化管线<br/>Verovio 随机排版 + 干扰符号注入 + Augraphy 扫描做旧与几何形变"]
E -.->|生成合成训练样本| B
B --> F["4. 双层语法状态约束解码<br/>xgrammar 本地 GBNF 语法掩码 + Python 动态通道计数器"]
F --> G["标准化 **kern 序列输出"]
在推理时,模型接收分辨率为 \(1485 \times 1050\) 的完整乐谱页面图像,通过 ConvNeXt-V2 提取特征图并附加 2D 正弦绝对位置编码,经由双层 MLP 投影后送入带有旋转位置编码(RoPE)的 8 层 Transformer 解码器,自回归生成标准化的 **kern 乐谱标记序列(最大长度 2048)。
关键设计¶
1. 紧凑视觉编码与解码架构:兼顾全页感受野与推理能效 针对传统分步 OMR 系统误差级联严重、而大参数多模态模型显存开销巨大的矛盾,Transcoda 专门设计了轻量级端到端模型。视觉端采用预训练的 ConvNeXt-V2-Tiny 骨干网络(27.9M 参数),在特征图展平前注入 2D 正弦位置编码以保留乐谱的行列空间拓扑,随后通过 2.6M 参数的双层 MLP 投影至解码器隐藏维度(\(d_{\mathrm{model}}=512\))。序列解码器则采用轻量高效的 8 层 Pre-LN Transformer(28.3M 参数,\(d_{\mathrm{ff}}=1024\),8 头自注意力),并在自注意力机制中集成旋转位置编码(RoPE)。同时针对符号特征定制了词表大小为 3000 的 BPE 分词器,强制执行严格的空格分割约束(split-space constraint),防止算法将整个复合和弦直接合并为不可泛化的静态 token,从而使模型具备组合式装配未知和弦结构的能力。为探究纯视觉域迁移,模型还支持在 20 万张 IMSLP 无标注历史乐谱上通过密集式掩码自编码器(FCMAE)进行先验预训练。
2. 21 阶段确定性目标规范化引擎:根除一对多映射的训练歧义 Humdrum **kern 允许同一段音乐存在多种有效语法表达,使得自回归模型被迫拟合随机排版差异。Transcoda 构建了包含 21 阶的确定性规范化流水线,将任意等价表示折叠为唯一的规范范式(Normal Form)。该引擎分为四大核心操作:① 剥离非记谱外围平行通道(Extraneous spine removal),剥离歌词、表情记号等与音符几何无关的辅助信息,确保模型只聚焦于乐谱骨架拓扑;② 视听语义严格对齐(Visual-semantic alignment),剔除仅供回放的静音装饰音符与终端控制符,保证文本标记内容与视觉图像元素形成精确的一对一映射;③ 语法成分字符级严格排序(Syntactic token sorting),为单个 token 内的时值、音高、临时升降号等记号制定全局固定的字符序,并对多音和弦强制按音高升序排列;④ 矛盾标记自动修复(Structural repair),将上游解析工具产生的冲突升降号(如同一音符上的升号与还原号并存)或自取消的无效连音线折叠为合法单记号。
3. 逼真乐谱渲染与物理退化管线:跨越合成到真实的分布鸿沟 针对合成乐谱过于稀疏且缺乏真实物理瑕疵的痛点,数据引擎设计了针对性的两阶段增强方案。在排版渲染阶段,为了匹配物理乐谱高密度的排版特性,训练管线随机拼接多个短乐谱样本,构造包含 1 至 6 个大谱表系统(systems)的紧凑页面;同时引入非目标记号反向注入机制,将演奏力度、表情术语以程序化方式作为干扰物绘制进图像,但不计入 **kern 转录目标,强迫模型学会选择性忽略非结构化噪声。在光栅退化阶段,利用 OpenCV 执行非均匀仿射透视拉伸,将渲染前景与合成老化纸张纹理、光照阴影渐变融合成背景,并通过 Augraphy 全面注入真实扫描的退化表征(油墨洇润、纸张斑点、滚轮污迹、双面透字及 JPEG 压缩伪影),最大程度消除 Sim-to-Real 的视觉域偏置。
4. 双层语法状态约束解码:确保下游可渲染性的结构掩码
乐谱排版引擎(如 Verovio)对输入格式具有极高的语法脆弱性,轻微语法断裂就会导致整页解析失败。Transcoda 提供了一个可选的双层语法约束解码模块。局部层面,采用编译自 xgrammar 的 GBNF 上下文无关文法,在每个解码步前向投影中屏蔽所有不符合 **kern 词法规则的非法 token;全局层面,外挂 Python 端动态 Logits 处理器,追踪行内并发声部(active spine count)的全局状态。针对 **kern 要求矩阵各列平行的约束,动态拦截导致声部拆分(*^)或合并(*v)失衡的制表符和换行符,将所有非法 token 的 logit 置为 \(-\infty\)。这为后续谱面排版与音频合成提供了严格的格式正确性保障。
损失函数 / 训练策略¶
模型在 310,554 个合成训练样本上进行端到端优化,采用标准交叉熵损失函数配合 0.1 的标签平滑(Label Smoothing)。优化器为 AdamW,有效批大小(effective batch size)设为 72,\((\beta_1, \beta_2) = (0.9, 0.999)\),权重矩阵权重衰减为 0.01,梯度范数裁剪阈值为 1.0。训练采用分层学习率策略:视觉编码器微调学习率设为 \(3 \times 10^{-4}\),投影层与解码器使用 \(1 \times 10^{-3}\);经过 500 步线性预热(warmup)后,按余弦退火策略逐步衰减至 \(5 \times 10^{-5}\)。在单张具备 32GB 显存的 NVIDIA RTX 5090 GPU 上,基于 bfloat16 精度仅耗时 6 小时即可完成从零开始的全量训练。
实验关键数据¶
主实验¶
评估涵盖两个核心基准:基于 Verovio 渲染的标准合成测试集(7,583 篇),以及 102 篇真实历史波兰历史扫描乐谱(Polish Scores)的零样本迁移评测。对比模型为开源领域当前最强的两大基线:基于端到端特定架构的 SMT++,以及基于冻结 Llama 3.2 11B Vision 视觉大模型的十亿级多模态基线 Legato。核心指标为乐谱归一化编辑距离(OMR-NED ↓,按时间步对齐乐符符号集编辑距离)与字符错误率(CER ↓)。
| 数据集 | 评测指标 | Transcoda (本文, 59M) | Legato (11B) | SMT++ (全页基线) | 相比次优绝对提升 |
|---|---|---|---|---|---|
| 合成测试集 (Verovio) | OMR-NED ↓ | 18.46% | 43.91% | 92.23% | -25.45% |
| 合成测试集 (Verovio) | CER ↓ | 2.72% | - | - | - |
| 真实历史扫描 (Polish Scores) | OMR-NED ↓ | 63.97% | 86.73% | 80.16% | -16.19% |
| 真实历史扫描 (Polish Scores) | CER ↓ | 27.00% | - | - | - |
注:主实验数据来源于论文摘要、§4.6 及表 3,Transcoda 均采用 Beam Search (width=3) 解码配置。
消融实验¶
消融实验深入剖析了规范化机制、数据引擎增强组件、预训练及解码策略对模型性能的具体影响。
| 配置 | 评测场景 | CER (%) ↓ | OMR-NED (%) ↓ | 说明 |
|---|---|---|---|---|
| Transcoda (Greedy 基线) | Verovio 合成 | 4.38 | 18.71 | 完整规范化默认基线 |
| w/o 目标规范化 (Target Norm) | Verovio 合成 | 27.00 | 82.51 | 去除后编辑距离暴涨 +63.80%,自回归完全退化 |
| + 约束解码 (Constrained) | Verovio 合成 | 4.62 | 18.74 | 保证下游语法正确,编辑距离基本持平 |
| + Beam Search (width=3) | Verovio 合成 | 2.72 | 18.46 | 最佳合成精度 |
| Transcoda (Greedy 基线) | Polish 真实扫描 | 33.18 | 65.76 | 零样本真实迁移基线 |
| w/o 非对称记号注入 (Asym. Aug) | Polish 真实扫描 | 60.56 | 78.99 | 无法忽略无用表情记号,误差增加 +13.23% |
| w/o 视觉光栅退化 (Degradation) | Polish 真实扫描 | 41.81 | 76.95 | 缺乏物理污损建模,误差增加 +11.19% |
| w/o 乐谱随机拼接 (Concatenation) | Polish 真实扫描 | 46.52 | 80.10 | 长度与密度外推崩溃,误差剧增 +14.34% |
| FCMAE + ConvNeXt-V2-Base | Polish 真实扫描 | 28.81 | 60.70 | 大主干+历史图像自监督预训练进一步降低误差 |
| + Beam Search (width=3) | Polish 真实扫描 | 27.00 | 63.97 | 默认轻量主干的最佳实测结果 |
关键发现¶
- 目标规范化是一切自回归精度的基石:消融数据显示,去掉 21 阶目标规范化后,模型在纯净合成集上的 OMR-NED 直接从 18.71% 恶化到 82.51%。这证实了乐谱文本表征的一对多歧义会直接摧毁自回归解码器的概率质量分布,规范化是解决转录崩溃的决定性因素。
- 排版长度与密度匹配重于单纯抗噪:在真实扫描消融中,去除多谱表拼接(w/o score concatenation)带来的掉点(+14.34% OMR-NED)超过了去除视觉退化(+11.19%)。这说明自回归解码器在物理扫描件上的失效不仅源于图像噪声,更严重受限于长序列密度外推能力的断崖式衰减。
- 小模型数据中心设计完胜盲目扩参:仅 59M 参数、6 小时单卡训练的 Transcoda,在零样本真实扫描识别上取得了 63.97% 的 OMR-NED,大幅领先采用 11B 多模态大模型架构的 Legato(86.73%),证明在结构化高密度识别任务中,数据表示质量与密度对齐远比模型参数规模更具决定性。
亮点与洞察¶
- 规范形映射消除表征熵:提出系统的 21 阶段 **kern 目标规范化算法,将离散符号的字符次序与声部定义严格规范化,以极低计算代价从根本上解决了结构化图像识别中的一对多歧义难题。
- 解耦式干扰注入训练鲁棒性:在合成渲染中主动注入真实乐理记号作为纯视觉干扰而不计入转录目标,巧妙迫使轻量编码器解耦核心音符结构与外围装饰符号,显著提升了零样本抗噪能力。
- 单卡 6 小时复现顶会 SOTA:彻底打破了全页 OMR 依赖海量 GPU 集群或冻结超大视觉语言模型的算力壁垒,展现了精细化数据工程对高密度垂直领域多模态任务的降本增效价值。
局限与展望¶
- 复杂多声部矩阵错位风险:在极密集的双手法双谱表钢琴作品中,模型仍可能误判声部切分(
*^)或合并(*v)指令,引发后续行宽失衡并在剩余整页中产生累积误差。 - 罕见自回归死循环:在约 1.18% 的合成案例中,自回归解码器会出现持续重复生成合法模式的死循环,超出目标长度 4 倍以上,纯静态语法约束无法过滤该现象,需引入自适应重复惩罚。
- 重度退化历史手稿仍具鸿沟:虽然在真实波兰历史乐谱上大幅刷新纪录,但 63.97% 的绝对错误率表明面对深度墨迹透背、手写批注及严重发霉乐谱时,仍需更大规模的真实馆藏无监督预训练支撑。
相关工作与启发¶
- vs SMT++: SMT++ 是首个实现免切分全页双行钢琴乐谱识别的系统,但其受限于小规模训练集且常生成非法 **kern;本文引入包含 31 万样本的超大规模数据引擎与确定性规范化,合成评测错误率从 92.23% 骤降至 18.46%,且训练耗时大幅削减。
- vs Legato: Legato 引入 11B 视觉大模型生成 ABC 记谱,推理与训练极其昂贵;本文证明基于 **kern 的矩阵式表示更适合二维乐谱对齐,通过规范化和数据密度匹配,59M 紧凑模型性能全面压制 11B 巨型架构。
评分¶
- 新颖性: ⭐⭐⭐⭐☆ 提出了一整套针对 OMR 格式歧义的数据规范化方案与多阶段物理退化管线,数据中心化思路极为扎实。
- 实验充分度: ⭐⭐⭐⭐⭐ 涵盖 31 万样本合成训练、Verovio 严苛基准与真实历史扫描零样本评测,消融实验逻辑严密。
- 写作质量: ⭐⭐⭐⭐⭐ 架构与数据流水线阐述清晰明了,消融分析直击长序列外推与规范化核心。
- 价值: ⭐⭐⭐⭐⭐ 极具开源实用价值,使学术界与数字音乐档案机构得以在单张消费级显卡上实现高精度乐谱数字化。