
【免费下载链接】NoteLiteOpen-source OMR and guided music practice: turn sheet music PDFs/images into MusicXML/MIDI, refine scores, and practice with MIDI or microphone feedback.项目地址https://gitcode.com/gh_mirrors/no/NoteLite点击查看免费下载NoteLite 是一款开源的 OMROptical Music Recognition光学乐谱识别与音乐指导练习工具能把乐谱 PDF 或图片识别为可编辑的 MusicXML 和 MIDI并支持用 MIDI 或麦克风反馈来练习。这篇文章基于仓库中 benchmarks/omr/ 目录的实测基准——9 份乐谱、14 页、3165 个音符事件——完整拆解它是怎么给识别准确率下定义的以及一轮修复前后各是多少分。这套 OMR 准确率实测怎么读3165 个音符事件的测试集构成基准分为两类全部是数字排版的干净谱面不是相机照片、扫描件或手写稿这一点决定了结果的适用边界① 合成样张7 份共 179 个参考音符7 份单页 MusicXML 谱例是独立手写的用 Verovio 6.3.0 排版、resvg 0.5.0 以 2480 像素宽栅格化成 PNG覆盖 7 个典型难点样张内容参考音符01_diatonic单声部自然音阶、四分与二分音符2502_accidentals升、降、还原号与半音2203_rhythm_ties休止、附点、连音线1104_piano钢琴大谱表、和弦、琶音4605_polyphony同一五线谱上两个同时声部2206_tuplets三连音混合节奏2107_repeats4 个乐句带反复记号按实际回放算 8 句、32 音32参考音符直接取自手写的事件定义与 OMR 输出完全独立不存在用识别结果对识别结果的循环验证。② 外部真实出版谱2 份共 2986 个回放音符Petzold《G 大调小步舞曲》Mutopia1 页出版 MIDI 含 204 个音符按反复号 1–16 小节、17–32 小节各回放两次展开为408个回放事件Mozart K545 第一乐章Mutopia6 页1289 个音符按 1–28、29–73 小节各回放两次展开为2578个事件两份外部样本的 PDF 与 LilyPond 原始谱均未做任何修改反复边界逐条对照了印刷版 PDF 和 LilyPond 源码。输入文件的 SHA-256、来源 URL、许可证公有领域 / CC BY-SA 3.0都记录在 external-fixtures/manifest.json 中。179 408 2578 3165个回放音符事件这就是标题里那个数字的来源。音符事件 F1这份乐谱识别基准的判定标准整份基准只认一个主指标音符事件 F1判定规则写在 benchmarks/omr/README.md匹配函数在 benchmarks/omr/benchmark.py一对一、最大基数匹配每个预测音符最多配对一个参考音符音高必须精确MIDI 音高一个音都差不得起始时间容差 1/16 四分音符拍120 BPM 下即 31.25 毫秒结束时间容差取 max(1/16 拍, 参考时长的 20%)不做任何自动时间平移、移调、谱面对齐、前后缀裁剪连音tie合并为一个持续事件反复段落按每次回放各计一次所有声部/分部合并统计识别对了但放错声部不算错同时保留 precision / recall / TP / FP / FN 原始计数另附两个辅助指标pitch_onset_offset加上结束时间容差的更严版本和pitch_inventory_diagnostic完全忽略时序、只比音高集合的诊断值——官方明确标注它不能当作转录准确率。每次运行都调用真正的 NoteLite CLI-batch -transcribe -export -export-midi识别只拿到 PNG 或 PDF永远看不到参考答案应用 JAR 的 SHA-256、命令行、耗时、控制台日志、识别出的 MusicXML 和生成的 MIDI 全部留档任何一次结果都可回溯。完整数据NoteLite 基准测试 F1 修复前后对比两个被测版本用 SHA-256 区分基线 JARe06272fb…修复版 JARa5592b79…修复的是 MusicXML→MIDI 导出器OMR 识别引擎未动。合成样张179 个事件样张参考基线 F1修复后 F101 自然音250.9360.93602 变化音220.9520.95203 节奏连音111.0001.00004 钢琴大谱表461.0001.00005 多声部221.0001.00006 三连音211.0001.00007 反复记号320.6671.000合计1790.9380.986单份样张识别耗时约 3.0–4.4 秒。外部出版谱2986 个回放事件按展开后的反复真值评分样张参考基线 F1修复后 F108 小步舞曲4080.3860.99809 Mozart K54525780.1570.928合计29860.1880.938按各组 TP/FP/FN 总量合并计算3165 个事件修复后命中 2964 个召回率93.65%精确率94.45%综合 F1 约0.941基线版本则只有约 0.242。原始明细全部公开在 results/summary.json含每组每个样张的 TP/FP/FN、耗时修复版 Mozart 六页 36.2 秒与pitch_onset_offset更严口径外部集 0.931。根因隔离为什么识别准确率会跌到 18.8%这是整份基准最有方法论价值的一幕。基线版本在 Mozart 上只有 15.7% 的 F1预测了 1279 个音符却只对上 302 个看起来像 OMR 引擎彻底失败了。但对照数据立刻拆穿了这个表象基线对未展开的出版 MIDI 评分时《小步舞曲》高达0.998——说明识别结果本身大部分是对的项目没有就此下结论而是做了Verovio 对照实验把 NoteLite 基线版自己导出的 MusicXML交给独立成熟的 Verovio 6.3.0 重新渲染成 MIDI 再评分。结果《小步舞曲》仍是 0.998Mozart 却只有0.145——连最成熟的渲染器都救不回来说明问题根本不在 OMR 图像识别而在MusicXML→MIDI 导出阶段反复段落的回放音符丢失/错排。该诊断思路来自 benchmarks/omr/compare_verovio.py完整数据见 results/verovio-control/results.json合成集07_repeats基线 F1 只有 0.667恰好对应预测 16 个 / 参考 32 个——反复段只回放了一次与根因完全吻合修复导出器后合成集 0.938→0.986反复样张回到满分外部集 0.188→0.938。还有一处体现流程严谨的细节人工审图时发现最初手写的变化音样张漏印了一个还原号于是修正样张并用原始保留的基线 JAR重跑最终发布的基线/修复数据均基于修正后的同一张图初步数字全部剔除。修复后剩余的错例也逐一定位01 漏 3 音、02 漏 2 音、Mozart 漏 194 音7.5%多为谱面尾部短行、临时变化音一类——官方明说再干净的排版也可能丢掉最后一条谱行、一次调号变化、一个装饰音。如何在自己电脑上复现这份 OMR 基准环境要求 Java 21 Tesseract 语言数据步骤见 benchmarks/omr/README.mdgit clone https://gitcode.com/gh_mirrors/no/NoteLite cd NoteLite ./gradlew :app:installDist python -m pip install -r benchmarks/omr/requirements.txt python benchmarks/omr/benchmark.py generate --fixtures benchmarks/omr/fixtures python benchmarks/omr/benchmark.py run --fixtures benchmarks/omr/fixtures \ --distribution app/build/install/app --output work/my-run --tessdata tessdata路径几个防作弊设计值得注意输出目录必须为空拒绝复用旧 MIDI防止失败的运行悄悄沿用陈旧结果识别器生成、参考写入、比对三者互不读取 NoteLite 源码--only 09_mutopia_mozart可以单跑某个用例默认单份超时 240 秒summarize.py 能对已保存的事件列表重新评分而不会伪装成另一次应用运行。这个测试测不了什么结果边界清单样本是刻意挑选的诊断谱不是随机代表性样本因此93.8% F1不等于通用准确率输入全部是数字排版 PDF/PNG——相机照片、纸质扫描、手写谱不在覆盖范围内不评估速度、表情处理、力度、音色与麦克风实时转录连音合并、声部合并的口径意味着它衡量的是可回放音符的还原度不是乐谱语义的完整度错误的识别结果若直接用于教学/练习会误导演奏者因此 NoteLite 的正确用法是识别 → 在编辑器中人工核对修正 → 再进入练习环节小结这份基准最值得借鉴的不是分数而是方法独立真值、SHA-256 全程留痕、一对一严格匹配、不做任何自动对齐以及用独立成熟渲染器重渲染自己导出的中间格式这一对照实验把 18.8% 的识别事故干净利落地归因到 MIDI 导出器。修复后 3165 个音符事件综合 F1 约 0.941单份样张 3–4 秒、Mozart 六页 36 秒的吞吐配合逐条可复现的留档数据构成了一份可以直接引用的 OMR 准确率实测基线。赞分享【免费下载链接】NoteLiteOpen-source OMR and guided music practice: turn sheet music PDFs/images into MusicXML/MIDI, refine scores, and practice with MIDI or microphone feedback.项目地址https://gitcode.com/gh_mirrors/no/NoteLite点击查看免费下载相关推荐Hyperfine集成测试策略确保基准测试准确性的完整测试套件Hyperfine集成测试策略确保基准测试准确性的完整测试套件 Hyperfine作为一款强大的命令行基准测试工具其准确性直接关系到用户对性能评估的信任度。性能测试CLI开发工具OpenDesign 设计系统实战Slack 风格指南——茄紫侧边栏、明亮内容区与语义色板的完整落地OpenDesign 设计系统实战Slack 风格指南——茄紫侧边栏、明亮内容区与语义色板的完整落地 本文基于 OpenDesign 仓库内置的 Slack人工智能AI Agent前端AI 技能设计系统VirtualSMC故障排除手册10个常见问题及解决方案VirtualSMC故障排除手册10个常见问题及解决方案 VirtualSMC是一款强大的SMC仿真层工具为macOS系统提供更广泛的SMC功能支持和更灵活创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考