C语言,实现数字谱到简谱的转换

· 浏览次数 : 0

小编点评

**前言** 本程序使用 C 语言实现数字谱到简谱转换的工具,可将数字谱转换为简谱网站能够识别的格式,无需安装任何应用程序,支持免费导出。程序支持五线谱、简谱以及数字谱三大类数字谱不标明节奏,使其便于搬运和转调。 **程序使用说明** 1. 将数字谱复制到文本文件中,并命名随意。 2. 将文本文件拖动到 `Generate.exe` 程序上。 3. 启动 `Generate.exe` 程序。 4. 程序将自动生成一个文件,该文件将包含简谱版本的数字谱。 5. 将文件中的内容复制粘贴到番茄简谱网站中。 6. 完成上述步骤后,您可以使用番茄简谱网站浏览数字谱。

正文

C语言,实现数字谱到简谱的转换


前言:本文初编辑于2024年4月28日

CSDN:https://blog.csdn.net/rvdgdsva

博客园:https://www.cnblogs.com/hassle


前言

使用C语言实现了一个程序,能够将数字谱转变成简谱网站能够识别的格式,依靠简谱网站将简谱绘制出来

简谱网站,不需要安装任何应用,支持免费导出,可自定义页面布局

抄谱抄的很累,不如打印下来方便


数字谱

乐谱,主要有五线谱、简谱以及数字谱三大类

数字谱不标明节奏(这造成了一定的不便,但也造就了这样的简谱非常便于搬运和转调的优势)

1234567对应一个八度内的7个音,{}中为超低音区音,()中为低音区音,[]中为高音区音

数字谱长这样


简谱网站

这里使用的网站是番茄简谱,不需要安装任何应用,免费导出,在网站即可使用,同时支持自定义行间距、字符大小等排版格式


使用方式

1、将数字谱复制到txt文档中,命名随意

注意,文档中不可以有1234567()[]#b空格空行以外的字符存在

2、将文档拖动到Generate.exe程序上,会自动生成一个文件

3、将文件中的内容复制粘贴到番茄简谱网站中

4、加点头文件


注意事项

Generate.exe实现的是1小节4拍,1行4小节

数字谱没有节奏记录,这是最大程度上将数字谱转换成简谱了

用python实现其实更加简单,只是exe文件更加便于使用,而且C语言编译的exe比pyinstaller打包后的程序要小的多

与C语言,实现数字谱到简谱的转换相似的内容:

C语言,实现数字谱到简谱的转换

C语言,实现数字谱到简谱的转换 前言:本文初编辑于2024年4月28日 CSDN:https://blog.csdn.net/rvdgdsva 博客园:https://www.cnblogs.com/hassle 前言 使用C语言实现了一个程序,能够将数字谱转变成简谱网站能够识别的格式,依靠简谱网站

4.7 C++ Boost 多线程并发库

C++语言并没有对多线程与网络的良好支持,虽然新的C++标准加入了基本的`thread`库,但是对于并发编程的支持仍然很基础,Boost库提供了数个用于实现高并发与网络相关的开发库这让我们在开发跨平台并发网络应用时能够像Java等语言一样高效开发。thread库为C++增加了多线程处理能力,其主要提供了清晰的,互斥量,线程,条件变量等,可以很容易的实现多线程应用开发,而且该库是可跨平台的,并且支持

深度解读《深度探索C++对象模型》之数据成员的存取效率分析(二)

C++对象在经过类的封装后,存取对象中的数据成员的效率是否相比C语言的结构体访问效率要低下?本篇将从C++类的不同定义形式来一一分析C++对象的数据成员的访问在编译器中是如何实现的,以及它们的存取效率如何?

08. C语言函数

【函数基础】 函数用于将程序代码分类管理,实现不同功能的代码放在不同函数内,一个函数等于一种功能,其它函数可以调用本函数执行。 C语言规定所有的指令数据必须定义在函数内部,比如之前介绍的程序执行流程控制语句,另外修改全局变量的操作也是通过指令进行的,所以全局变量只能在函数内修改。 数据作用域 定义的

奇葩需求记录 各个系统取数据联表展示

首先,我刚进公司没多长时间,然后介绍一下背景,这边是个工厂,上了很多个系统搞信息化,这边是有自己的研发团队的(C#),还做了一套系统出来搞生产管理。为了实现信息化呢,这边叫了很多个外包团队开发很多个系统,有些系统语言也不一样(java,C#,我甚至看到了jsp,不过也有springcloud),数据

大数据 - ClickHouse

https://clickhouse.com/ 概念 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的列式存储数据库(DBMS),使用 C++语言编写,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。 OLAP:一次写入,多次读取 ClickH

整理C语言预处理过程语法的实用方法与技巧

预处理 目录预处理一、宏定义数值宏常量字符串宏常量用define宏定义注释符号?程序的编译过程预处理中宏替换和去注释谁先谁后?如何写一个不会出现问题的宏函数do-while-zero结构do-while-zero的评价宏定义中的空格宏只能在main函数上面定义吗?宏的作用范围#undef宏替换是在函

C#判断字符串是否是有效的XML格式数据

说明 在try-catch语句块中,创建XmlDocument对象,并使用LoadXml方法加载xml字符串。如果没有异常,则说明xml字符串是有效的,返回true,反之为false。 代码实现 /// /// Xml字符串格式验证 /// ///

Bond——大数据时代的数据交换和存储格式

设想我们在一家很大的互联网公司做IT方面的规划、开发和维护,有以下这样的应用场景: 公司里有若干个不同的开发团队,开发语言有Java、.net、Python、C++....十来种,还有很多外包团队对项目进行开发,大中小系统已经多的数不过来;并且各个团队、系统间都需要进行海量数据的交换(比如搜索引擎实

PIC18 bootloader之RS485 bootloader

了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序)。 不知道为什么,现在工业控制领域也向汽车领域学习,产品需要带bootloader, 产品出货后也要可以通过bootloade