Sheetmusic4J Java(FX) library

MusicXML is the standard open format for exchanging digital sheet music between notation tools like MuseScore, Sibelius, and Finale. Until now, showing such scores in a Java application meant embedding a WebView and a JavaScript rendering engine, with all the weight and startup cost that brings.

Sheetmusic4J provides two Java libraries: the first 'core' parses and generates MusicXML as typed Java objects, and the second 'fxviewer' renders those scores directly onto a JavaFX Canvas, with no browser engine and no JavaScript bridge. It only needs javafx.graphics, starts fast, and works fully offline.

Newer versions of the library added support for ABC Notation, Guitar Pro,...

Links

Sheetmusic4J Website
Provides all information about the MusicXML format and the Sheetmusic4J libraries.
Sheetmusic4J GitHub Repository
Sources of the Sheetmusic4J project and website.
MusicXML
The open standard format to exchange digital sheet music between notation, performance, and music education applications.

Videos

Used Technologies

  • Java 21, JavaFX
  • MusicXML, MIDI, ABC, Guiar Pro,...
  • GitHub Actions
  • Maven Repository