Audiveris 的 .zip 归档:训练样本仓库(samples/images/annotations)的结构、用途与运维
桌面应用计算机视觉图像处理OCR【免费下载链接】audiverisLatest generation of Audiveris OMR engine项目地址https://gitcode.com/gh_mirrors/au/audiveris点击查看免费下载本篇技术指南聚焦 Audiveris OMR 引擎中一类特殊的输出产物——.zip归档文件。它们不是乐谱的最终交付格式那是.omr、.pdf、.mxl而是服务于字形分类器Glyph classifier训练的容器本书的BOOK-samples.zip、BOOK-images.zip、BOOK-annotations.zip以及全局训练目录TRAIN_FOLDER下的samples.zip与images.zip。读完本文你将掌握这五种归档的职责边界、存放位置、生成/合并/推送流程以及如何在 SampleRepository.java 等源码中印证它们的内部实现。为什么是 .zip训练材料的容器设计Audiveris 的.omr输出是乐谱工程的内部数据序列化.pdf与.mxl是面向演奏者和打谱软件的结果而本文讨论的.zip则完全是另一类用途它们是容器主要服务于训练材料原文明确These files are containers mainly used for training material。从 SampleRepository.java 的类注释可以看到SampleRepository负责存储Sample实例每个 sample 本质上是一个字形 形状glyph shape的组合其中还有一类特殊的字体合成样本font-based samples由 Audiveris 的音乐字体与文本字体直接生成虽然它们是人工构造的但同样被计入训练样本集合。这些样本天然需要以按 sheet、按 shape组织的归档方式来存放.zip因此成为默认容器格式。本地 Book 归档Book 级对于一个名为BOOK的书籍文件夹其中可能出现三个.zip归档各自的定位完全不同归档文件定位内容与用途BOOK-samples.zip本书的样本仓库local repository汇集本书中采集到的全部样本glyph shape。高级用户应当在把内容推送到global仓库之前仔细检查甚至编辑这个local仓库里的所有样本BOOK-images.zip本地样本仓库的可选配套包含每个至少有一个样本的 sheet 的关联图像用于在界面中展示样本的背景上下文visual check不参与训练BOOK-annotations.zipAudiveris 5.x 的输出物为 6.x 版本计划中的 page / patch 分类器预留为每个被识别的 inter 提供 sheet 图像 符号标注shape bounding box本地归档的命名规律从 SampleRepository.java 中的正则可以看出命名约束private static final Pattern SAMPLES_PATTERN Pattern.compile((.*-)?(samples\\.zip));即本地归档采用BOOK_NAME-samples.zip形式全局归档则是纯samples.zip。在 SampleRepository.java 中构造器会从samples.zip文件名推导出配套的images.zip路径this.samplesFile samplesFile; this.imagesFile samplesFile.resolveSibling(prefix IMAGES_FILE_NAME);其中IMAGES_FILE_NAME定义为images.zip见 SampleRepository.javaSAMPLES_FILE_NAME为samples.zip见 SampleRepository.java。也就是说只要给出foo-samples.zip程序就能自动推导foo-images.zip的存在与路径。生成本地归档的操作路径在 指南 samples.md 中有明确的生成方式对单张 sheet 满意后使用Sheet → Sample下拉菜单保存该 sheet 的样本对整本书满意后使用Book → Sample下拉菜单保存整本书的样本。数据会以两个 zip 归档保存在 book 文件夹下例如foo书会生成foo-samples.zip样本集合与foo-images.zip包含的 sheet 图像。一个良好的实践是一次只处理一本书只有当本书数据被彻底验证、样本被仔细过滤后才把书仓库合并进全局仓库。工作区中的对应物仓库自带的示例数据与配置也体现了这套命名与存放约定app/res/basic-classifier.zip —— 随发行版提供的训练模型glyph classifier 的 trained model norms其默认位置就在TRAIN_FOLDERdata/examples/ —— 提供可供采样、验证的示例乐谱图片如BachInvention5.jpg、D0392410-1.256.png等。全局归档Global 级与 Book 级归档相对的是存放于TRAIN_FOLDER中的全局归档。TRAIN_FOLDER是CONFIG_FOLDER下直接的train子目录见 essential.md。CONFIG_FOLDER的具体位置随操作系统而异OSCONFIG_FOLDERWindows%APPDATA%\AudiverisLtd\audiveris\configLinux选项 1$XDG_CONFIG_HOME/AudiverisLtd/audiverisLinux选项 2$HOME/.config/AudiverisLtd/audiverisFlatpak$HOME/.var/app/org.audiveris.audiveris/configmacOS$HOME/Library/Application Support/AudiverisLtd/audiveris因此TRAIN_FOLDER即上述目录下的train子文件夹其中包含文件说明basic-classifier.zip字形分类器的训练模型与 norms用于覆盖默认 Audiveris 模型samples.zip全局训练样本仓库images.zip训练样本的背景 sheet 图像详见 essential.md 的表格。全局 samples.zip训练的唯一数据源全局samples.zip是训练 glyph classifier 的唯一来源原文It is the only source for training the glyph classifier。其内容建立于所有被推送pushed进来的本地仓库之上。从 SampleRepository.java 可以看到全局仓库的获取逻辑if (GLOBAL null) { GLOBAL getInstance(WellKnowns.TRAIN_FOLDER.resolve(SAMPLES_FILE_NAME), load); } if (load (GLOBAL ! null) !GLOBAL.isLoaded()) { GLOBAL.loadRepository(null); }即全局仓库就是TRAIN_FOLDER/samples.zip对应的SampleRepository单例它是懒加载的——只有真正执行loadRepository()时才会访问磁盘上的 zip 文件见 SampleRepository.java 的注释构造时并不会访问 samples 文件直到调用loadRepository()或storeRepository()。全局 images.zip体积大、仅供目检images.zip归档包含随样本从本地仓库推送上来的图像。它可能变得相当大原文档提示It can get fairly big并且只用于视觉检查visual check不用于训练。这也在源码中得到印证图像文件通过ZipFileSystem.open(imagesFile)打开按 sheet descriptor 的folderPath解析到对应的 sheet 图像见 SampleRepository.java提供isImagesAvailable()之类的检查判断 sheet 图像文件是否存在见 SampleRepository.java。下载初始材料在 samples.md 中给出了初始材料的获取与布置建议官方提供samples.zip约 4 MB约 15000 个样本、images.zip约 453 MB约 3500 张 sheet 图像与basic-classifier.zip约 0.3 MB训练结果模型。做法是**直接下载归档无需解压**放入自己的config/train目录之后即可在此基础上扩充自己的样本集。注意images.zip对训练不是必需的但有助于在 sheet 上下文中目检大部分样本。从采集到推送本地仓库如何进入全局结合 samples.md 的完整流程.zip 归档的完整生命周期如下1. 采样Sampling对已校正满意的 sheetSheet → Sample或 bookBook → Sample生成BOOK-samples.zip与BOOK-images.zip落在 book 文件夹中。2. 目检与编辑Repository UI通过Tools → Browse Global Repository...打开GLOBAL仓库读取config/train下的samples.zip/images.zip或通过Book → View Book Repository...打开某本书的仓库。界面左侧是 Shapes 选择器中间是 Sheets 选择器 Sample board Classifier board右侧是 Samples 选择器与 Sample context上下文面板依次选择 sheets → shapes → samples 三级联动特殊 sheet# SYMBOLS FROM FONT #汇集所有字体合成样本以绿色背景显示对选中样本可执行RemoveDELETE键 /Remove按钮 / 右键菜单或Assign to重新指定 shape。目检的核心动机是一个被错误指派 shape 的样本若混入训练集会严重损害 Audiveris 的识别效率因此要么删除、要么纠正其 shape。3. 合并 / 推送Merge / Push当本地仓库验收通过后在 book 仓库界面通过Repository → Push to Global把内容推送进全局仓库。源码层面对应SampleRepository.includeRepository(...)与includeSamplesFile(...)public synchronized void includeSamplesFile (Path samplesFile) { SampleRepository repo getInstance(samplesFile, true); ... includeRepository(repo); ... }见 SampleRepository.java。合并后调用storeRepository()见 SampleRepository.java将更新写回samples.zip。由于训练过程只使用 GLOBAL 仓库见 samples.md推送是本地样本进入训练流程的唯一通道。4. 训练Training全局仓库就绪后即可通过Tools → Train菜单启动字形分类器训练详见 training.md。训练基于全局仓库的样本随机选择Select按钮训练期间可利用False Positives/Weak Positives/Weak Negatives三类视图继续回到仓库界面修正样本形成采样 → 目检 → 推送 → 训练 → 再修正的闭环。归档内部实现要点从源码可以确认几个值得注意的实现细节zip 访问方式无论是加载 sheet 图像还是存储样本均通过java.nio.file的ZipFileSystem直接以文件系统视图访问归档内容SampleRepository.java、SampleRepository.java使用完毕后关闭对应的文件系统句柄。这意味着你可以把 zip 当作一个目录来组织 sheet 子目录与样本条目而无需在磁盘上解压展开。本地/全局命名区分samples.zip全局位于WellKnowns.TRAIN_FOLDER与BOOK_NAME-samples.zip本地位于某个 book 文件夹由正则(.*-)?(samples\.zip)统一识别SampleRepository.javaisGlobal()通过this GLOBAL判断SampleRepository.java。质量自检仓库内置对冲突样本conflicting同一 run table 被标成不同 shape与冗余样本redundant的检查并在冗余字体样本上打上 ignored 标记后重新storeRepository()SampleRepository.java避免劣质样本污染训练数据。annotations 的命名扩展整本书的标注归档扩展名为.annotations.zip单 sheet 的标注则是.annotations.xmlAnnotations.java印证了BOOK-annotations.zip属于 5.x 为未来分类器预留的结构化输出。小结归档层级是否参与训练主要用途BOOK-samples.zip本地book 文件夹否推送后间接参与本书样本仓库推送前的校验与编辑对象BOOK-images.zip本地book 文件夹否样本的背景 sheet 图像目检用BOOK-annotations.zip本地book 文件夹否5.x 预留的符号标注输出shape bounding boxsamples.zip全局TRAIN_FOLDER是唯一训练来源glyph classifier 的训练样本库images.zip全局TRAIN_FOLDER否推送图像的汇总归档仅视觉检查一句话总结samples.zip是训练链路的数据核心images.zip是它的目检配套annotations.zip是面向未来的标注储备理解它们的分层本地 Book 级 → 全局 TRAIN_FOLDER 级与流转采样 → 过滤 → Push to Global → Train即可在 Audiveris 中建立可控、可复现的训练样本管线。相关文档可继续参阅 Outputs 总览、Essential folders 与 Samples 指南。赞分享桌面应用计算机视觉图像处理OCR【免费下载链接】audiverisLatest generation of Audiveris OMR engine项目地址https://gitcode.com/gh_mirrors/au/audiveris点击查看免费下载相关推荐TimescaleDB Multi-node 弃用详解从分布式架构到单节点聚焦的演进TimescaleDB Multi node 弃用详解从分布式架构到单节点聚焦的演进 TimescaleDB 自 2.13 起正式弃用 multi node桌面应用计算机视觉图像处理OCRpython-docs-samples 实战App Engine Images API 与 Images Guestbook 样本应用深度解析python docs samples 实战App Engine Images API 与 Images Guestbook 样本应用深度解析 导读 本文围示例工程为什么选择Rapid SCADA工业自动化监控系统的5大优势为什么选择Rapid SCADA工业自动化监控系统的5大优势 Rapid SCADA是一款功能强大的开源工业自动化监控系统专为实时数据采集、处理和可视化而设工业制造后端物联网上一篇Liquibase与Git集成5步实现数据库架构变更的完美版本控制下一篇如何免费打造你的智能驾驶辅助系统FlowPilot完整安装与使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

AI智能摄像头主图制作全流程:中小卖家低成本高转化方案

AI智能摄像头主图制作全流程:中小卖家低成本高转化方案

做了几年电商,我太清楚"没模特、没团队、没预算"这三个词压在中小卖家头上是什么感觉。尤其是智能摄像头这种产品——你说它好拍吧,不用真人模特,你说它难拍吧,它需要大量"装在家里"/"装在店里"/&q…

2026/10/4 10:45:22 阅读更多 →
OpenShell 终端增强实战:智能补全、语法高亮与历史检索配置指南

OpenShell 终端增强实战:智能补全、语法高亮与历史检索配置指南

1. 从零认识 OpenShell:它到底解决什么问题第一次听到 OpenShell 这个名字,很多人会下意识以为它跟某个操作系统内核或者远程登录工具有关。实际上,OpenShell 是一个面向命令行交互体验的开源增强层,它的核心定位是给传统的 Shell…

2026/10/4 10:45:22 阅读更多 →
MCP 模型上下文协议:一、总览与全景概念图(TaoToken 统一 Key 接入版)

MCP 模型上下文协议:一、总览与全景概念图(TaoToken 统一 Key 接入版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 10:44:22 阅读更多 →

最新新闻

基于Python的网络入侵检测与防御系统:从实时流量分析到自动封禁的完整闭环

基于Python的网络入侵检测与防御系统:从实时流量分析到自动封禁的完整闭环

简介:这是一份基于Python构建的网络入侵检测与防御系统源码,面向毕业设计、课程设计及网络安全方向学习者,可解决实时流量分析、恶意攻击识别、自动防御与可视化监控等需求。系统采用Flask、Flask-SocketIO与Scapy实现后端数据捕获与检测&…

2026/10/4 12:56:25 阅读更多 →
PLONK与Groth16怎么选?从信任模型到性能开销的完整对比

PLONK与Groth16怎么选?从信任模型到性能开销的完整对比

在密码学社区里被问得最多的问题之一,就是“做ZK证明到底选PLONK还是Groth16?”。无论你是做Layer 2、隐私交易、还是链上验证,几乎都会在某个时刻站在这两个名字前面犹豫。Groth16以极小证明和极低验证成本著称,PLONK以通用可信设…

2026/10/4 12:56:25 阅读更多 →
Mac M5部署Qwen3.8-27B:GGUF+Unsloth实战避坑指南

Mac M5部署Qwen3.8-27B:GGUF+Unsloth实战避坑指南

1. 这不是“跑通就行”的玩具项目:Mac M5芯片上硬刚Qwen3.8-27B的真实战场你搜到这篇记录,大概率正卡在某个报错页面上——比如终端里赫然一行红字:no lm runtime found for model format gguf!,或者OSError: dlopen(libllama.dyl…

2026/10/4 12:56:25 阅读更多 →
C/C++ const关键字全解析:指针、成员函数与constexpr区别及面试实战

C/C++ const关键字全解析:指针、成员函数与constexpr区别及面试实战

1. 面试官为什么要问const:它检验的不是语法,而是代码契约意识先说个比较扎心的观察。C/C 的面试题里,const 出现的频率高得离谱,但它很少作为独立考点出现。我在面试别人的时候,问 const 的真正目的从来不是看对方背没…

2026/10/4 12:56:25 阅读更多 →
深度学习量化投资策略实战:从数据、模型到回测的完整指南

深度学习量化投资策略实战:从数据、模型到回测的完整指南

简介:这份资源是面向高校学生与量化投资初学者的一套完整项目源码,适用于毕业设计、期末大作业或人工智能与金融交叉方向的实践练习。项目以深度学习技术构建量化投资策略,涵盖数据预处理、模型搭建、训练调优与回测评估等核心环节&#xff0…

2026/10/4 12:56:25 阅读更多 →
自动扶梯智能监控系统:AI图像识别与功能安全实战解析

自动扶梯智能监控系统:AI图像识别与功能安全实战解析

扶梯旁边贴满了“请站稳扶好”,但真正能管住乘客行为的,从来不是标语。去年我开始做自动扶梯智能监控系统,第一个要回答的问题是:AI图像识别到底能在这个场景里解决什么。传统机械安全回路能在故障发生后触发制动,却没…

2026/10/4 12:55:24 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →