Verovio是一个快速、便携、轻量级的开源库,用于将音乐编码倡议(Music Encoding Initiative(MEI))数字乐谱雕刻到SVG图像中。Verovio还包含即时转换器(on-the-fly converters)用于渲染Plaine & Easie Code、Humdrum、Musedata、MusicXML、EsAC和ABC数字乐谱。源代码地址:https://github.com/rism-digital/verovio,最新发布版本为Version 4.1.0,采用C++17标准编写,而最新的开发分支采用C++20标准编写。它的license为LGPLv3。Verovio已被多个项目或机构采用。
Verovio是以荷兰音乐雕刻家西蒙娜·维罗维奥(Simone Verovio)的名字命名的。Verovio由RISM(Répertoire International des Sources Musicales)数字中心在瑞士国家科学基金会(Swiss National Science Foundation)的支持下开发。该项目得到了数字莫扎特版(Digital Mozart Edition)的专门财政支持,这是萨尔茨堡莫扎特基金会和加利福尼亚州洛斯阿尔托斯帕卡德人文学院的联合项目。
Verovio适用于台式电脑,也适用于平板电脑和移动设备。Verovio还为其他乐谱格式提供基本支持,例如MusicXML导入和MIDI输出。
Verovio设计为可在广泛的技术环境(C++、JavaScript、Python)中使用。Verovio可以编译为独立的命令行工具、也可以用作应用程序(Qt、Python)的已编译音乐渲染库、或也可以使用Emscripten LLVM-to-JavaScript编译器将Verovio编译为Javascript。
Verovio使用标准音乐字体布局(Standard Music Font Layout(SMuFL))规范,并且可以更改字体以个性化输出。
Verovio和libmei版本:
(1).从Verovio 2.x.x开始,计划为使用MEI稳定版本的Verovio版本提供偶数版本号,为使用MEI开发版本的版本提供奇数版本号。这意味着一旦 MEI 5.0发布,Verovio将转向版本4.x.x。较新版本的Verovio仍支持较旧版本的MEI。
(2).Verovio 4.0已发布,这是基于MEI 5.0的第一个版本,是该项目的一个重要里程碑。MEI 5.0仍将是Verovio 4.x其他版本的基础。与往常一样,此版本包含各种改进。
(3).Verovio 4.0的发布遵循自Verovio 2.0以来采用的发布方案,即偶数版本号表示Verovio版本仅实现MEI稳定版本中提供的功能,奇数版本号表示基于MEI开发版本的版本。当MEI社区将转向MEI 6.0的开发,并且一些新的MEI功能将在仍处于MEI开发阶段的情况下实现到Verovio中时,Verovio将转向5.0。
libmei源码地址:https://github.com/music-encoding/music-encoding
Verovio在Windows10上的编译:
1.从clone源码,并切换到4.1.0版本,执行如下命令:
git clone https://github.com/rism-digital/verovio
git checkout version-4.1.0
2.为了可以正常编译过,在Windows上需要临时修改些文件,如src/harm.cpp;
3.用管理员权限打开x64 Native Tools Command Prompt for VS2022,编译64位release可执行文件,并将其定位到Verovio源码的tools目录下,依次执行如下命令:
cmake -DCMAKE_INSTALL_PREFIX=../install ../cmake -G "NMake Makefiles"
nmake
nmake install
4.将cmd定位到生成的install/bin目录下,打印verovio可执行文件的使用说明,执行结果如下图所示:
Verovio在Ubuntu 22.04上的编译:
1.从clone源码,并切换到4.1.0版本,执行如下命令:
git clone https://github.com/rism-digital/verovio
git checkout version-4.1.0
2.将终端定位到tools目录下,依次执行如下命令:
cmake -DCMAKE_INSTALL_PREFIX=../install ../cmake
make -j4
make install
3.将终端定位到生成的install目录下,打印verovio可执行文件的使用说明,执行结果如下图所示: