A fast, portable library for engraving MEI, MusicXML, and Humdrum music scores into SVG images.
Verovio is an open-source library for music notation engraving that converts digital scores in formats like MEI, MusicXML, and Humdrum into SVG images. It solves the problem of rendering complex musical notation accurately and efficiently across different platforms and applications. The library is designed to be fast, portable, and lightweight, making it suitable for integration into various software projects.
Developers and researchers building music notation software, digital musicology tools, educational applications, or web-based music editors that require high-quality score rendering.
Developers choose Verovio for its extensive format support, cross-platform bindings, and performance as a dedicated engraving engine. Its open-source nature and adherence to standards like MEI and SMuFL provide flexibility and reliability not always found in proprietary alternatives.
🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports MEI, MusicXML, Humdrum, ABC, and more, enabling seamless conversion between major digital notation standards as highlighted in the README.
Offers bindings for JavaScript, Python, Java, Swift, and Go, making integration easy across web, mobile, and desktop applications, with sample apps provided.
Engraves scores into scalable vector graphics for crisp display at any resolution, ideal for responsive web and print use.
Uses the Standard Music Font Layout specification, allowing font personalization to match design needs, as mentioned in the README.
Lacks built-in audio playback or MIDI generation, limiting use in applications requiring interactive sound alongside notation.
Primarily outputs SVG; generating other formats like PDF or PNG requires additional conversion steps, which can add complexity.
Setting up the C++ library or bindings can be challenging for developers unfamiliar with music engraving or low-level programming, despite the tutorials.