ProductPromotion
Logo

C++ Programming

made by https://0x3d.site

GitHub - rism-digital/verovio: 🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)
🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python) - rism-digital/verovio
Visit Site

GitHub - rism-digital/verovio: 🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)

GitHub - rism-digital/verovio: 🎵 Music notation engraving library for MEI with MusicXML and Humdrum support and various toolkits (JavaScript, Python)

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

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 2020 C++ and can be compiled as a standalone command-line tool, used as a compiled music-rendering library for applications (Qt, python), or compiled into Javascript using the Emscripten LLVM-to-JavaScript compiler. Check out the JavaScript toolkit version of verovio running in the MEI Viewer as well as the app or tutorials for web integration and user interaction.

Choice interaction

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

The project page is https://www.verovio.org. Verovio is available under the LGPL license (see COPYING and COPYING.LESSER).

Building and use instructions by environment

See the Reference book

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.

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.

Other 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

Contributing

See the Reference book

Example output

The sample page of music shown below was generated with version 2.4.0-dev-2748fed

Example page

Example resources using verovio

name type description
Verovio Humdrum Viewer editor An online semi-graphical Humdrum data editor (can also be used to textually edit other digital scores compliant with verovio).
MoVI repertory The digital Mozart digital score VIewer at the Mozarteum
Tasso in Music Project repertory Musical settings of the poetry of Torquato Tasso
Measuring Polyphony repertory Late medieval music in black mensural and modern notations
Probstücke Digital repertory open and critical digital edition of Mattheson's test pieces
370 Bach Chorales repertory Online edition of Bach chorales, including an interactive typesetter page that allows for creating musical examples for online display or use in papers.
Humdrum Notation Plugin tool Javascript interface to verovio for displaying multiple musical examples on a webpage
Music Sheet Viewer tool WordPress plugin for displaying graphical music from MEI data

Digital score repositories on Github

Here is a list of digital score repositories on Github that can be displayed with verovio:

link encoding description
MEI complete examples MEI 86 various works encoded in MEI
Mozart Piano Sonatas Humdrum 17 Piano sonatas by W.A. Mozart from the Alte Mozart-Ausgabe (in VHV)
Beethoven Piano Sonatas Humdrum 32 Piano sonatas by L. van Beethoven, edited by Paul Dukas (in VHV)
Josquin Research Project Humdrum Over 1000 scores of early Renaissance music in modern editions (website)
Tasso in Music Project Humdrum Critical edition of 650 Late Renaissance madrigals using the poetry of Torquato Tasso for lyrics. (website)
Music of Scott Joplin Humdrum Digital scores of most of Scott Joplins music
Chopin mazurkas Humdrum Digital scores of Chopin's mazurkas
Chopin preludes Humdrum Digital scores of Chopin's op. 24 preludes
J.N. Hummel preludes, op. 67 Humdrum 24 improvisatory prelude examples in every key
370 Bach chorales Humdrum Chorales collected by C.P.E. Bach after his father's death (website)
Deutscher Liederschatz Humdrum 200 harmonized songs from vol. 1, edited by Ludwig Erk
Beethoven string quartets Humdrum 18 string quartets by Ludwig van Beethoven

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory