Sheetmusic4J 0.0.1
2026-07-23 by Frank Delporte
The First Release Is Out
Sheetmusic4J 0.0.1 is released: a native Java(FX) library that parses MusicXML into Java objects and renders it as sheet music on a JavaFX Canvas, without embedding a WebView or any other browser engine.
This is a deliberately 0.0.X release number. The goal of this release isn’t to declare the API stable; it’s to find out whether there’s interest in a library like this before investing further. I’m already using it myself in MelodyMatrix, so it’s solving a real problem for me, but it’s the kind of thing that only gets more useful with outside feedback on what’s missing or wrong.
What’s in this first release:
core: the music data model (Score,Part,Measure,Note,Chord,Rest,Clef,KeySignature,TimeSignature, …), MusicXML 4.0 reading and writing, and MIDI import/export, all behind a singleScoreFilefacade that dispatches on file extension.engraving: a framework-agnostic layout engine that turns aScoreinto a positionedLayoutResult(staves, measures, glyph placements), with no JavaFX dependency, so the layout math is unit-testable headlessly.fxviewer:SheetView, a JavaFXRegionthat renders aScoreon aCanvasusing a SMuFL-compliant music font, plusStripSheetViewfor play-along use: a one-line, endlessly scrolling engraving with a fixed cursor and per-note highlighting, aimed at apps that follow along with playback.fxdemo: a standalone JavaFX demo app for loading and inspecting MusicXML/MIDI files, with a side-by-side PDF comparison view for checking rendering fidelity against a reference.
Rendering fidelity and MusicXML/MIDI coverage are still being expanded, see the release notes for the details, and the code examples for how to get started. If you try it out, issues and feedback on GitHub are very welcome.