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日 |
#4 在 #musicxml
每月105 次下载
用于 musicxml
32KB
581 代码行
MusicXML
MusicXML 是一个用于在 Rust 中读取和写入 MusicXML 文件的库。MusicXML 是一种用于表示西方音乐记谱的标准格式,在 Finale、Sibelius 和 MuseScore 等音乐记谱软件中得到广泛应用。此库提供了一个简单的接口来解析 MusicXML 文件并将它们转换为可以轻松操作和编程分析的格式化数据。
该库设计易于使用且灵活,允许您以最小的努力读取和写入 MusicXML 文件。它提供了读取 MusicXML 文件并将它们转换为格式化数据格式的函数,以及将结构化数据写回到 MusicXML 文件的函数。它还设计得非常健壮和可靠,可以轻松处理各种 MusicXML 文件和格式。
功能
- 实现了完整的官方 MusicXML 标准
- 支持原始
.musicxml
和压缩.mxl
文件格式 - 支持 "partwise" 和 "timewise" 数据表示
- 允许在 "partwise" 和 "timewise" 表示之间进行透明转换
- 作为 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 许可证 许可。
依赖项
~275–720KB
~17K SLoC