#格式 #音乐 #反序列化 #解析器 #musicxml #音乐记谱 #API 绑定

musicxml_internal

MusicXML Rust SDK 共享内部数据类型和特质

7 个稳定版本

1.0.6 2024年7月11日
1.0.5 2024年6月18日
1.0.2 2024年6月13日
1.0.1 2024年6月5日

#2627解析器实现

Download history 273/week @ 2024-06-04 177/week @ 2024-06-11 373/week @ 2024-06-18 39/week @ 2024-07-02 126/week @ 2024-07-09 3/week @ 2024-07-16 25/week @ 2024-07-23

193 每月下载量
musicxml 中使用

MIT 许可证

6KB
61

MusicXML

MusicXML 是一个用于在 Rust 中读取和写入 MusicXML 文件的库。MusicXML 是表示西方音乐记谱的标准格式,在 Finale、Sibelius 和 MuseScore 等音乐记谱软件中得到广泛应用。此库提供了一种简单的接口来解析 MusicXML 文件并将它们转换为易于程序化操作和分析的结构化数据格式。

该库旨在易于使用和灵活,允许您以最小的努力读取和写入 MusicXML 文件。它提供读取 MusicXML 文件并将它们转换为结构化数据格式的函数,以及将结构化数据写回到 MusicXML 文件的函数。它还设计得健壮和可靠,可以轻松处理各种 MusicXML 文件和格式。

功能

  • 实现完整的官方 MusicXML 标准
  • 支持原始 .musicxml 和压缩 .mxl 文件格式
  • 支持“分部”和“时间”数据表示
  • 允许在“分部”和“时间”表示之间进行透明转换
  • 作为 Rust 格式库提供,以便可以与您的代码进行链接时优化

入门指南

要在 Rust 项目中使用此库,只需将以下行添加到您的 Cargo.toml 文件中

[dependencies]
musicxml = "1.0"

然后,您可以使用以下方式将任何常规 MusicXML 文件或压缩 MXL 文件解析为结构化数据格式

use musicxml::*;

match read_score_partwise("path/to/file.musicxml") {
  Ok(score) => {}, // Do something with the score
  Err(e) => println!("Error reading MusicXML file: {}", e),
}

use musicxml::*;

match read_score_timewise("path/to/file.musicxml") {
  Ok(score) => {}, // Do something with the score
  Err(e) => println!("Error reading MusicXML file: {}", e),
}

有关完整使用说明,请参阅库文档。您还可以参考官方 MusicXML 标准 获取更多详细信息。

许可证

此库采用 MIT 许可证

无运行时依赖