a MusicXML parsing and SVG rendering engine written in Rust.
翻译准备中
正在加载完整 README。
查看完整 README ↗Staveloom is a MusicXML parsing and SVG rendering engine written in Rust, shipped as a CLI tool and a browser-based interactive web player.
The web player is fully client-side. Rendering (WASM), MIDI synthesis (SpessaSynth), and playback all happen in the browser — no server required.
.mxl parsing, tolerant of the quirky exports from various notation softwarecargo build --release
cargo run -- score.musicxml --output score.svg
cargo run -- score.musicxml --midi out.mid --sf2 font.sf2 --audio out.mp3
Run with no arguments to see all options (part filtering, layout mode, page width, etc.).
bash wasm-build.sh # build WASM once, or after Rust changes
python3 server.py # start the dev server
Open http://localhost:8000 and drop in a .xml, .musicxml, .mxl, or .mid file.
Rust (roxmltree, svg, midly, rustysynth, lame) · WASM (wasm-bindgen) · Vanilla JS + SpessaSynth for the web player · SMuFL/Bravura font
cargo test
scripts/generate_report.py and scripts/generate_preview.py render all test samples to browsable HTML (specification_report.html, preview.html) for visual regression checks.
Dual-licensed under MIT OR Apache-2.0 — pick whichever suits you. See
LICENSE-MIT / LICENSE-APACHE.
Third-party components (SpessaSynth, Bravura, FluidR3 GM, etc.) are reviewed in
docs/THIRDPARTY_LICENSE.md.