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语言,实现数字谱到简谱的转换的更多相关文章

  1. 《数学之美》(吴军 著)读书笔记:第1章 文字和语言 vs 数字和信息

    第1章有4个小节,以及前言. 前言 1.信息 2.文字和数字 3.文字和语言背后的数学 4.小结 下面我一一展开,让我们看看每一节都说了什么. 前言 语言和数字都是信息传播的载体,他们之间其实存在着天 ...

  2. 比较java与c语言中数字转换成字符的不同

    java java中将数字转换成字符非常方便,只要用一个"+"然后在跟一个空格行了.比如,你输入一个122 ,就会变成"122 ". import java.u ...

  3. 《数学之美》--第一章:文字和语言 vs 数字和信息

    PDF下载 第一章 文字和语言 vs 数字和信息 数字.文字和自然语言一样,都是信息的载体,它们之间原本有着天然的联系.语言和数学的产生都是为了同一个目的-记录和传播信息.但是,直到半个多世纪前香农博 ...

  4. 1《数学之美》第1章 文字和语言 vs 数字和信息

    1<数学之美>第1章 文字和语言 vs 数字和信息

  5. c语言实现数字的倒序输出

    c语言实现数字的倒序输出, 例如: 输入数值:1234倒序输出: 4321 #include <stdio.h> int main(int argc, char *argv[]) { in ...

  6. C++中数字与字符串之间的转换,别人的,

    C++中数字与字符串之间的转换   1.字符串数字之间的转换 (1)string --> char *   string str("OK");   char * p = st ...

  7. Python数字与字符之间的转换

    Python数字与字符之间的转换 命令 意义 int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点数 co ...

  8. boost-使用format和lexical_cast实现数字和字符串之间的转换

    使用boost的format可以实现数字到string的格式化转换,boost的lexical_cast可以实现string到数值的转换,eg: #include "boost/format ...

  9. R语言:变量名称和字符串的转换

    R语言:变量名称和字符串的转换 2014-06-23 14:45:27         在R语言中,经常会遇到变量名称和字符串相互转换的问题.比如说,进行1000次循环运算,并将运算结果存储在1000 ...

  10. C++中数字与字符串之间的转换 scanf string总结(复习必读)

    1 string的scanf读入操作 C++里面控制台输入直接使用cin操作就可以了:或者getline(istringstream,string); 字符和数字加减就是字符的ASCII码和数字直接加 ...

随机推荐

  1. 【论文阅读】NIDS对抗性机器学习综述

    基本信息 题目:Adversarial Machine Learning for Network Intrusion Detection Systems: A Comprehensive Survey ...

  2. springboot mybatis 多数据源整合

    1.在application.properties中配置两个数据库: # db01 database spring.datasource.db01.jdbc-url=jdbc:oracle:thin: ...

  3. 战“码”先锋直播预告丨如何成为一名优秀的OpenHamrony贡献者?

    OpenAtom OpenHarmony(以下简称"OpenHarmony")工作委员会首度发起「OpenHarmony开源贡献者计划」,旨在鼓励开发者参与OpenHarmony开 ...

  4. C# 发布你的程序包到Nuget

    1.新建一个.NET Standard 的类库项目 2.选择项目属性,在 package 栏目下填写我们的nuget包信息 3.选择我们的项目,点击"Pack" 打包 主要注意的是 ...

  5. JS实现文件转base64

    核心: function file2base64(){ fileAddress = document.getElementById("fileImage").files[0]; f ...

  6. Linux编译静态库、动态库

    一.Linux上编译静态库 # 1.编译成.o文件 gcc -c a.c b.c // 2.编译成静态库 ar -r liba.a a.o b.o // 3.链接成可执行文件 gcc main.c - ...

  7. 部署javaweb项目到阿里云ecs(centos7)

    阿里云文档 https://help.aliyun.com/document_detail/51376.html?spm=5176.12901015.0.i12901015.af8f525cCPi8Q ...

  8. 本周三晚19:00Hello HarmonyOS应用篇第7课—分布式应用开发

    6月15日19:00 Hello HarmonyOS系列应用篇迎来的本系列直播课的最后一课,将会有怎样的精彩呈现呢?   万物互联的时代已经来临,如果你想运用过往的技术,开发一个有"跨设备操 ...

  9. redis 简单整理——客户端案例分析[十八]

    前言 简单整理一下客户端案例分析. 正文 现象一: 服务端现象:Redis主节点内存陡增,几乎用满maxmemory,而从节点 内存并没有变化. 客户端现象:客户端产生了OOM异常,也就是Redis主 ...

  10. IIS 动态与静态压缩

    前言 我们有时候需要在页面启动的时候进行压缩代码,这时候iis已经帮助我们做好了动态压缩代码. 正文 静态压缩及动态压缩的区别 IIS7中的HTTP压缩分为"静态内容压缩"和&qu ...