A MusicXML renderer for the Browser
⭐ - Star us on Github - It really helps us a lot!
🙏 - Become our Sponsor - Support our work and receive awesome perks!
OpenSheetMusicDisplay renders MusicXML sheet music in the browser. It is the missing link between MusicXML and VexFlow. Built upon many years of experience in both sheet music interactivity and engraving, it is the perfect solution for app developers seeking to build digital sheet music services.
MusicXML is the de facto standard for exchanging sheet music between music software.
OpenSheetMusicDisplay brings the two together and offers an open source turnkey solution for your digital sheet music project.
Developers can also run a local development demo (see Wiki):
- Soon: Audio Playback (work in progress, early access build available for Github sponsors)
- Uses Vexflow for rendering and (partly) layout
- Parses most MusicXML tags and integrates it into an accessible and modifiable data model (e.g. to change a note's color)
- Offers many options (OSMDOptions / EngravingRules): Page Format, Font Family, Positioning, not rendering certain elements like the title or lyrics, etc.
- Allows modification of the displayed score, like hiding parts or instruments, hiding instrument names, title or composer, a more compact layout, or coloring notes
- Outputs SVG or PNG, also via nodejs script in the command line, completely browserless (e.g. for server-side rendering)
- Can display tablature (guitar tabs) from MusicXML, including effects like bends and glissandi. Can be combined with treble clef.
Not all MusicXML tags are (fully) supported:
- Pedal marks (currently in early access for sponsors)
- Glissando lines
- Wavy-line (currently in early access for sponsors)
- Etc, see OSMD 1.0 Project
Also, OSMD is a renderer, not an interactive sheet music editor. Rendering takes some time, and you can't easily/quickly move notes, place new notes, etc.
(You can, however, manipulate the SVG nodes for instant changes like note re-coloring, see Exploring the Demo | Wiki)
How to Use OSMD
- Getting Started: Detailed instructions in our Wiki
- If you have further technical questions, you can:
It would be great if free software were sustainable on its own. But to keep on improving and developing OpenSheetMusicDisplay we need your support. Your monthly sponsorship subscription - especially if you are already actively using OSMD - would mean everything to us - it’s a stable way of enabling us to continue our work, and improve and expand OSMD.
New features currently in the making are:
- OSMD Audio Player
- Transposing Plugin
- Annotations (Add custom text, music symbols, etc. to the score and export to and import from XML)
Our awesome sponsors get awesome perks, like:
- Early Access to features like the Audio Player and a transposition plugin for OSMD
- A postcard from Vienna
and others. Check them out at our GitHub sponsors page.
And there are other ways to contribute to the community - we plan on starting a blog and newsletter, and sharing our knowledge. We encourage our sponsors to bring up their desired features and pitch blog post ideas.
Though we highly recommend the sponsor route, you can also donate via Paypal:
OSMD is made by Phonicscore - a music-tech company based in Vienna. We create solutions for musicians, sheet music publishers, app developers, music stores and researchers:
- Open source software
- Sheet Music Rendering Software
- Native & web apps: PracticeBird for iOS and Android
Our mission is to provide state of the art software solutions for building MusicXML apps and to include the community in a constant thrive for improvement. We want to take away the pain of building music software from scratch and offer a shortcut when it comes to building your next MusicXML sheet music application.
We also want to thank our Github Contributors, who show that with open source many people come together to not only share but improve software.
Get In Touch
To contact us directly, you can: