Verovio简介及在Windows10和Ubuntu 22.04上编译过程

news2024/12/24 13:38:48

      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可执行文件的使用说明,执行结果如下图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1508238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSL证书:构建网络安全的基石

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

C++容器适配器stack、queue、priority_queue

文章目录 C容器适配器stack、queue、priority_queue1、stack1.1、stack的介绍1.2、stack的使用1.3、stack的模拟实现 2、queue2.1、queue的介绍2.2、queue的使用2.3、queue的模拟实现 3、priority_queue3.1、priority_queue的介绍3.2、priority_queue的使用3.3、仿函数3.4、pri…

如何使用Everything+cpolar实现公网远程搜索下载内网储存文件资料

文章目录 前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前言 要搭建一个在线资料库,我们需要两个软件的支持,分别是cpolar(用于搭建内网穿透数据隧道…

架构面试题汇总:mysql全解析(六)

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! MySQL面试题涵盖了索引优化、事务管理、并发控制以及存储格式等核心领域,旨在评估应聘者对数据库性能优化和数据一致性…

软件介绍-知网研学

知网研学 基本功能 功能特色: 1.高效检索和管理期刊论文、博硕士论文、会议论文、报纸、年鉴、网页内容等各类资源 2.已有题录与CNKI题录自动匹配,可一键更新,完善题录信息 3.阅读中可随手记录学习中的想法;对学科名词可随时查…

Dgraph 入门教程三《linux本地部署》

上一章中,我们用的官方的Clound操作的,怎么在本地部署一套Dgraph呢。这一章将做详细介绍。安装有好几种方式,最简单的就是联网部署。因为项目需要,这里先不介绍和测试线上部署了,只介绍离线部署。 1、下载安装包 Rel…

微信小程序仿QQ头像轮播效果

1、效果图 2、效果流程分析 1、第1个头像大小从1到0缩小的同时,第2个头像左移 2、上面动画结束后,延迟50ms,第3个头像从0到1放大 3、把头像列表顺序前移一位,并重置轮播状态,以此达到一个循环。然后继续第一个步骤 …

Stable Diffusion 详解

整体目标 文本生成图片;文本图片生成图片 网络结构 CLIP的文本编码器和图片生成器组成图像生成器,输入是噪声经过UNet得到图像特征,最后解码得到图像 前向扩散 模型直接预测图片难度比较大,所有让模型预测噪音然后输入-噪音…

Everything:文件查找工具,一搜即得

名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、软件介绍①Everything②核心功能③原理 二、下载安装①下载②安装 三、使用方法①文…

TRON Builder Tour 丹佛站活动获美联社等外媒高度评价

近日,波场TRON亮相ETH Denver大会并在期间成功举办TRON Builder Tour丹佛站活动,引发海外媒体热议。美联社、费加罗报、Cointelegraph等国际主流媒体及加密行业权威媒体均对此给予了高度评价,认为波场TRON在参会期间的表现及TRON Builder Tour活动的举办都展现了其坚定不移推动…

【大厂AI课学习笔记NO.74】人工智能产业技术架构

包括基础层、技术层和应用层。 人工智能的产业技术架构是一个多层次、多维度的复杂系统,它涵盖了从基础硬件和软件设施到高级算法和应用技术的全过程。这个架构通常可以分为三个主要层次:基础层、技术层和应用层。下面我将详细论述这三个层次及其细分内…

代码背后的女性:突破性别壁垒的技术先驱

个人主页:17_Kevin-CSDN博客 收录专栏:《程序人生》 引言 在计算机科学的历史长河中,有许多杰出的女性为这个领域的发展做出了重要贡献。她们不仅在技术上取得了卓越成就,还打破了性别壁垒,为后来的女性树立了榜样。今…

scrcpy远程投屏控制Android

下载 下载后解压压缩包scrcpy-win64-v2.4.zip scrcpy连接手机 1. 有线连接 - 手机开启开发者选项,并开启USB调试,连接电脑,华为手机示例解压scrcpy,在scrcpy目录下打开终端,(或添加scrcpy路径为环境变…

【Web】浅聊Java反序列化之玩转Hessian反序列化的前置知识

目录 序列化 反序列化 Hessian1.0 Hessian2.0 Hessian反序列化核心:MapDeserializer#readMap的利用 总结 序列化 HessianOutput&Hessian2Output都是抽象类AbstractHessianOutput的实现类 HessianOutput#writeObject和Hessian2Output#writeObject的写法是…

Linux:kubernetes(k8s)Deployment的操作(12)

创建deployment 命令 kubectl create deploy nginx-deploy --imagenginx:1.7.9 再去使用以下命令分别查询 ubectl get deploy kubectl get replicaset kubectl get pod 他是一个层层嵌套的一个关系 首先是创建了一个 deploy 里面包含着replicaset replicaset里面含有…

文档版面分析数据集整理

版面分析数据集 这里整理了常用版面分析数据集,持续更新中: publaynet数据集CDLA数据集TableBank数据集D4LA 数据集DocLayNet文档布局分割数据集M6Doc数据集 版面分析数据集多为目标检测数据集,除了开源数据,用户还可使用合成工…

AIGC——ControlNet模型的原理

简介 ControlNet旨在控制预训练的大型扩散模型&#xff0c;以支持额外的输入条件。ControlNet能够以端到端的方式学习特定任务的条件&#xff0c;即使在训练数据集很小的情况下&#xff08;<50k&#xff09;&#xff0c;也能保持稳健性。此外&#xff0c;训练ControlNet的速…

更改npm的镜像地址

使用如下命令查看镜像地址 npm config get registry 修改npm镜像的地址 npm config set registry https://registry.npmmirror.com/

​如何防止网络攻击?

应对不同类型网络攻击的最佳途径是“知己”、“知彼”&#xff0c;在了解它们的工作原理、能够识别其手段、方法及意图的前提下&#xff0c;找出针对性的应对文案。今天&#xff0c;就为大家总结以下防止不同类型网络攻击的有效方法&#xff0c;希望无论是对个人、还是企业和组…

Linux调试器--gdb的介绍以及使用

文章目录 1.前言 ✒️2.介绍gdb✒️3.Debug模式和Release模式的区别✒️4.如何使用gdb✒️1️⃣.在debug模式下编译2️⃣.进入调试3️⃣ .调试命令集合⭐️⭐️ 1.前言 ✒️ &#x1f557;在我们之前的学习中已经学会了使用vim编译器编写c/c代码&#xff0c;但是对于一个程序员…