README.md

April 21, 2026 ยท View on GitHub

License: LGPL v3 PyPI PyPI - Wheel AppVeyor status GH Actions status PyPI - Downlaods NPM - Downlaods DOI Ask DeepWiki

Verovio is a fast, portable and lightweight library for engraving Music Encoding Initiative (MEI) digital scores into SVG images. Verovio also contains on-the-fly converters to render Plaine & Easie Code, Humdrum, Musedata, MusicXML, EsAC, and ABC digital scores.

Verovio is written in standard C++20 and is available in several bindings (JavaScript, Python, Java, Swift, Go). It can be compiled as a standalone command-line tool or as a music-rendering library for applications. Check out the JavaScript toolkit version of Verovio running in the Verovio Online Editor / Viewer, or the tutorials to know more about web integration and user interaction.

Choice interaction

Minimal sample applications

C++ with QtJava binding on AndroidSwift binding on iOS
Code repositoryCode repository - GooglePlayAppStore
iPadiPadiPad

Verovio uses the Standard Music Font Layout (SMuFL) specification and the font can be changed for personalizing the output.

License

Verovio is available under the LGPL license (see COPYING and COPYING.LESSER).

Building and use instructions by environment

See the Reference book

Libraries

LibMEI

The code for the attribute classes of Verovio are generated from the MEI schema using a modified version of LibMEI available here. The code generated is included in the Verovio repository and the LibMEI repository does not need to be cloned for building Verovio.

Embedded libraries

The following libraries are embedded in Verovio:

librarypurpose
humlibHumdrum file import/export
JSON++JSON data parser
MidiFileStandard MIDI file export
pugixmlXML data parser
MINIZ-CPPZIP files reading/writing
tuning-librarySurge Synth Team Tuning Library

Contributing

See the Reference book