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.
Minimal sample applications
| C++ with Qt | Java binding on Android | Swift binding on iOS |
|---|---|---|
| Code repository | Code repository - GooglePlay | AppStore |
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:
| library | purpose |
|---|---|
| humlib | Humdrum file import/export |
| JSON++ | JSON data parser |
| MidiFile | Standard MIDI file export |
| pugixml | XML data parser |
| MINIZ-CPP | ZIP files reading/writing |
| tuning-library | Surge Synth Team Tuning Library |
Contributing
See the Reference book
Release files for verovio 6.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| verovio-6.3.0.tar.gz | 6.2 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| verovio-6.3.0-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| verovio-6.3.0-cp310-abi3-win32.whl | CPython 3.10 | abi3 | Windows x86-32 | Details |
| verovio-6.3.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| verovio-6.3.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| verovio-6.3.0-cp310-abi3-macosx_13_0_x86_64.whl | CPython 3.10 | abi3 | macOS 13.0+ x86-64 | Details |
| verovio-6.3.0-cp310-abi3-macosx_13_0_arm64.whl | CPython 3.10 | abi3 | macOS 13.0+ ARM64 | Details |
Total release size: 48.5 MB
Release files / verovio-6.3.0.tar.gz
| Download URL | verovio-6.3.0.tar.gz |
|---|---|
| Size | 6.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
33dc3b6816896a649198acd7cce291f54636fbfffa893dd78d84c3073b40d87c
|
|
BLAKE2b-256 checksum How to use checksums |
d80763fe55a328593336a66750de517a8ab6ebe7c0ad1b7e168d98d79d8503fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-win_amd64.whl
| Download URL | verovio-6.3.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cc8bab65570ccb38d6a440fa13d3e4820df34ee9ca483decdbe8371c4291b1a8
|
|
BLAKE2b-256 checksum How to use checksums |
d76079588e400482320e0eb5a9a7501ab03132a5831a976e6bc5551019295c96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-win32.whl
| Download URL | verovio-6.3.0-cp310-abi3-win32.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.10 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
654a96990d0ab49cd805d6c39e2c313c640a117a761a07f6a6320d82af94c53a
|
|
BLAKE2b-256 checksum How to use checksums |
b82356bf43146452bf2c920f6dc69fbeaf5119336b1ceb25898c6fa28587936e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
| Download URL | verovio-6.3.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0896a708a5b130cc5bab3a168d70435ad8b3e54692088e7e5e281fef11c0b05d
|
|
BLAKE2b-256 checksum How to use checksums |
a72325d6a382968815baf686099d519064c3444aaad7297b6e6c507c5608f225
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
| Download URL | verovio-6.3.0-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl |
|---|---|
| Size | 8.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c3a608b590fe3ca625eba29b547be8727063f47feb10bd5e42c548f87aeb331e
|
|
BLAKE2b-256 checksum How to use checksums |
a5a65aa26c766d67b0c61356aed76c09820d502e825e35707aba86c6cc78d65d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-macosx_13_0_x86_64.whl
| Download URL | verovio-6.3.0-cp310-abi3-macosx_13_0_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.10 abi3 macOS 13.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
92f1b3065db2e4e2e6717eafe2d010aa53a194c9547249aa5b5a64f51fc099f2
|
|
BLAKE2b-256 checksum How to use checksums |
3531b56f05c859f709597edd987e80a0bc3873e7359330b22b415602f4fde922
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|
Release files / verovio-6.3.0-cp310-abi3-macosx_13_0_arm64.whl
| Download URL | verovio-6.3.0-cp310-abi3-macosx_13_0_arm64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.10 abi3 macOS 13.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c842f5d21d31c3d47e835e07565a9b8623b78feef527affe149ceadd9ecaa55a
|
|
BLAKE2b-256 checksum How to use checksums |
6b0b42e560df4051b8c05407162ba117eb14b44f011e84818acc4c2065161d87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.4
|