5个稳定版本

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

#487解析器实现

Download history 274/week @ 2024-06-03 173/week @ 2024-06-10 395/week @ 2024-06-17 14/week @ 2024-07-01 116/week @ 2024-07-08 2/week @ 2024-07-15 57/week @ 2024-07-22

189每月下载量

MIT许可证

7MB
19K SLoC

包含 (WOFF字体, 4MB) assets/fonts/BravuraText.woff, (WOFF字体, 335KB) assets/fonts/BravuraText.woff2, (压缩文件, 49KB) tests/Grande Valse Brillante.mxl

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许可证 许可。

依赖关系

~4.5–6.5MB
~115K SLoC