Verovio is a fast, portable and lightweight library for engraving Music Encoding Initiative (MEI) music scores into SVG. Verovio can be used as a standalone command-line tool for converting a MEI files, as the music rendering library for applications, or it can be compiled to Javascript using the Emscripten LLVM-to-JavaScript compiler.
See the JavaScript toolkit running in the MEI Viewer and check out the app or the tutorial for its web integration and for enabling user interaction.
Verovio can also render Plaine & Easie Code and imports MusicXML, Humdrum data, and ABC notation. It is designed as a tool usable as a one-step conversion tool and it is written in pure standard C++.
Verovio follows the Standard Music Font Layout (SMuFL) specification and the font can be changed for personalizing the output.
The project page is http://www.verovio.org. Verovio is available under the LGPL license (see LICENSE.txt).
See the wiki, with instructions for:
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.
Major releases of Verovio and MEI versions:
- Verovio 1.x.x ⇔ MEI 3.0
- Verovio 2.x.x ⇔ MEI 4.0
- Verovio 3.x.x ⇔ Development of MEI since 4.0
From Verovio 2.x.x, the plan is to have even version numbers for Verovio releases using a stable version of MEI, and odd version numbers for releases using a development version of MEI. It means that once MEI 5.0 will be released, Verovio will move to version 4.x.x. Older versions of MEI are still supported by newer versions of Verovio. MEI files are internally upgraded when loaded into Verovio. This applies only to the features supported by Verovio. We will try to maintain this in the future.
If you are willing to contribute to Verovio, please follow the contribution and coding style guidelines.
This page was generated with version 2.4.0-dev-2748fed
The following libraries are embedded in Verovio: