edirom/meigarageMEIGarage 是一个 Web 服务和 RESTful 服务,专注于 MEI(音乐编码格式),提供多种格式的转换、转换和验证功能。该服务基于成熟的 OxGarage 代码库构建,可视为音乐编码数据的“工作坊”。
运行中的 MEIGarage 实例可访问:meigarage.edirom.de。关于代码结构和演示材料,可参考 代码结构文档 和 演示幻灯片与海报。
API 规范可通过以下途径获取:
[***][***]使用 curl 将 MEI 3.0 文档转换为 MEI 4.0 文档:
bashcurl -o 4.0.0.mei -F upload=@input-3.0.0.mei [***]
已安装 Docker 环境。
可从 GitHub Docker Registry 或 DockerHub 获取镜像:
bash# 从 GitHub Docker Registry 拉取 docker pull ghcr.io/edirom/meigarage:latest # 或从 DockerHub 拉取 docker pull edirom/meigarage:latest
开发版本镜像:
bashdocker pull edirom/meigarage:dev
基础运行命令(默认配置):
bashdocker run --rm \ -p 8080:8080 \ --name meigarage \ edirom/meigarage:latest
服务启动后,通过浏览器访问 http://localhost:8080/ege-webservice 进入 Web 服务界面。
环境变量
WEBSERVICE_URL:指定服务访问 URL,用于生成正确的 API 链接-e WEBSERVICE_URL=http://localhost:8080/ege-webservice/卷挂载(自定义样式表和源文件)
可挂载本地目录覆盖默认的样式表和源文件,映射关系如下表:
| 容器内路径 | 用途 | 对应源码仓库 |
|---|---|---|
/usr/share/xml/tei/stylesheet | TEI 样式表 | TEIC/Stylesheets |
/usr/share/xml/tei/odd | TEI 源文件(含 p5subset.xml) | TEIC/TEI |
/usr/share/xml/mei/music-stylesheets/encoding-tools | MEI 编码工具样式表 | music-encoding/encoding-tools |
/usr/share/xml/mei/music-stylesheets/w3c-musicxml | MusicXML 样式表 | w3c/musicxml |
/usr/share/xml/mei/music-stylesheets/meiler | MEILER 样式表 | rettinghaus/MEILER |
/usr/share/xml/mei/music-encoding | MEI 各版本源文件 | music-encoding/music-encoding |
/usr/share/xml/mei/music-stylesheets/data-configuration | 数据配置文件 | Edirom/data-configuration |
挂载示例:
bashdocker run --rm \ -p 8080:8080 \ -e WEBSERVICE_URL=http://localhost:8080/ege-webservice/ \ -v /本地路径/tei/stylesheet:/usr/share/xml/tei/stylesheet \ -v /本地路径/tei/odd:/usr/share/xml/tei/odd \ -v /本地路径/mei/encoding-tools:/usr/share/xml/mei/music-stylesheets/encoding-tools \ -v /本地路径/mei/musicxml:/usr/share/xml/mei/music-stylesheets/w3c-musicxml \ -v /本地路径/mei/meiler:/usr/share/xml/mei/music-stylesheets/meiler \ -v /本地路径/mei/music-encoding:/usr/share/xml/mei/music-encoding \ -v /本地路径/mei/data-configuration:/usr/share/xml/mei/music-stylesheets/data-configuration \ --name meigarage edirom/meigarage:latest
暴露端口
8080:HTTP 服务端口(默认使用)8081:HTTPS 服务端口(用于 SSL 终止负载均衡器后端)webapps 目录oxgarage.properties 到 /etc/oxgarage.properties/var/cache/oxgarage 目录并复制 log4j.xml,设置权限(如 chown -R tomcat:tomcat /var/cache/oxgarage)/usr/share/xml/tei 目录下部署 TEI 和 MEI 的样式表及源文件(遵循 Debian 文件层级标准)http://localhost:8080/ege-webclient/ 测试转换功能如需自定义镜像版本,可通过 docker build 传入构建参数指定依赖版本:
bashdocker build \ --build-arg VERSION_STYLESHEET=7.52.0 \ # TEI 样式表版本 --build-arg VERSION_ODD=4.3.0 \ # TEI 源文件版本 --build-arg VERSION_ENCODING_TOOLS=3.0.0 \ # MEI 编码工具版本 --build-arg VERSION_W3C_MUSICXML=4.0 \ # MusicXML 版本 --build-arg VERSION_MEILER=2.0.0 \ # MEILER 版本 .
MEIGarage 开发得到 NFDI4Culture(物质与非物质文化遗产研究数据联盟)支持。该联盟致力于为文化遗产研究数据建立需求导向的基础设施,涵盖建筑、艺术、音乐、戏剧等多个领域。更多信息:nfdi4culture.de。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务