About this project
Verovio is a fast, portable and lightweight library for engraving Music Encoding Initiative (MEI) digital scores into SVG images. It is written in standard C++20 and can be compiled as a standalone command-line tool or embedded as a music-rendering library in applications.
Beyond MEI, Verovio includes on-the-fly converters that let it render Plaine & Easie Code, Humdrum, MuseData, MusicXML, EsAC and ABC digital scores. Output uses the Standard Music Font Layout (SMuFL) specification, and the font can be changed to personalize engraving results.
Language bindings are available for JavaScript, Python, Java, Swift and Go. The JavaScript toolkit powers the Verovio Online Editor / Viewer, and tutorials cover web integration and user interaction. Minimal sample applications demonstrate C++ with Qt, the Java binding on Android, and the Swift binding on iOS.
Internally, Verovio embeds several libraries: humlib for Humdrum import/export, JSON++ for JSON parsing, MidiFile for Standard MIDI file export, pugixml for XML parsing, MINIZ-CPP for ZIP reading/writing, and the Surge Synth Team tuning library. Attribute classes are generated from the MEI schema via a modified LibMEI, with generated code included in the repository.
Verovio is distributed under the LGPL license. Build and usage instructions for each environment are provided in the project's reference book, which also documents contributing guidelines.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.