既然是做计算机音乐,一些计算机知识是必不可少的,对二进制熟悉的程序员可以跳过这一部分。

常用十六进制与十进制对照表

并非是记住这些,而是对这些常用的数有所熟悉,在看别人的程序的时候不要不知道这些数是做什么的就行了。

MIDI文件有很多信息构成的指令。一些信息,只由1字节构成,有些有些有2个字节,还有一些由3个字节构成,还有由很多字节构成。

所有的信息有一点是共同的,那就是第一个字节的信息是状态。状态字节的0x80到0xef是可以在16个 MIDI通道的任何一个出现的信息。正因为如此,这些是所谓的声音信息。这些状态字节有8位 二进制数,可以把8个二进制位分成两个 4位,即一个高位和一个低位 。例如,一个状态字节的0x92可细分成9 (高位 )和2 (低位 ) 。高位告诉你是什么类型的MIDI信息,低位说明信息操作的MIDI通道序号。以下是所有可能的高位值,每个代表的声音信息类型:
下面具体解释一下上面的术语(参考百度百科)
停止发声
类别:声音
目的
指出要应该停止的音。
0x80到0x8f而低位是MIDI通道。
数据
后续两个数据字节。
第一个数据是音符号码。有128个音符,对MIDI设备,编号为0至127(其中,中央C是60号)。
第二个数据字节是速度,一个从0到127的值。这表明,应该多么迅速地停止发声(其中127是最快的)。

开始发声
类别:声音
目的
指出要发出的声音。
状态字节
0x90到0x9f而低位是MIDI通道。
数据
后续两个数据字节
注意
在理论上,每个音符最终应由各自的停止发声信息终了。

轮指
类别:声音
目的
对已经发出的声音连续再弹。
状态字节
0xa0到0xaf而低位是MIDI通道。
数据
后续两个数据字节。
第一个数据是音符代号。有128可能的音符,对MIDI设备,编号为0至127个(其中中央C音符代号是60)。
第二个数据字节是音量的值,从0到127(其中127是强音) 。
注意

控制器改变
类别:声音
目的
设定了一个特定控制器的值。状态字节
0xb0 ,到0xbf而低位是MIDI通道。
数据
后续两个数据字节。
第一个数据是控制器的号码( 0到127)。
第二个数据字节的值是控制器应设置的值,从0到127 。

改变音色
类别:声音
状态字节
0xc0,到0xcf而低位是MIDI通道。
数据
一个数据字节。这是乐器编号,从0到127 。
注意
对MIDI音色 ,定义了一套标准,以便更加兼容。这个规范是所谓的通用MIDI标准。

通道演奏压力
类别:声音
状态字节
0xd0到0xdf而低位是MIDI通道。
数据
一个数据字节,值从0到127 (其中127是最响) 。

音高
类别:声音
状态字节
0xe0到0xef而低位是MIDI通道。
数据
后续两个数据字节。这两个字节应结合在一起,形成一个14位值。

系统专用信息
类别:系统公用
目的
用来传送一些数据,这是具体到一个MIDI设备。此外, sysex可能被用来传递信息,就是特定的装置。
状态字节
开始于0xf0 。结束于0xf7。
数据
可以有任何数量的数据字节。

知道如何控制midi器件后还需要一些表格来支持这些命令。
1.音色表格: http://blog.csdn.net/jia_zhengshen/article/details/8777194 音色表格主要是介绍个中乐器的代码。例如钢琴,吉他,枪声等的代号。
2控制器表格: http://blog.csdn.net/jia_zhengshen/article/details/8777836  这个主要是用来调节音量,调节平衡控制的等等。在调节音乐的优美程度很有用。
3.midi音符代码表: http://blog.csdn.net/jia_zhengshen/article/details/8778457   可以确定要演奏的是钢琴还是吉他了,可以调节音量了,还差什么呢?你的钢琴不会就一个键吧!猜对了,这张表就是选择你按下的是哪个音符的,当然了,如果想知道按下的是哪个键还得参考琴键的分布了。链接地址为 http://blog.csdn.net/jia_zhengshen/article/details/8778637。
至此,如果你完整的读完了我的博文,你就可以自己制作个在电脑上模拟的钢琴了。

使用midi接口制作模拟电钢琴相关推荐

  1. destoon7.0火车头免登陆发布接口 destoon模拟人工发布接口 destoon火车头免费采集接口

    来源:https://www.destoon.cc/product/view62.html destoon7.0正式版已与2018年4月3日发布,destoon采集专家已与第一时间发布destoon火 ...

  2. html语言中的转行标记是6,网页设计与制作模拟试题

    全国2004年7月高等教育自学考试网页设计与制作试题 网页设计与制作模拟试题 一. 单项选择题(每空1分,共10分) 1.目前在Internet上应用最为广泛的服务是( ). A.FTP服务 B.WW ...

  3. App前端及后端接口,模拟数据及返回值

    App前端及后端接口,模拟数据 :接口文档 目录 1. 全局状态码 6 2. 前台 7 2.1. 首页 7 2.1.1. 商品分类列表接口 7 2.1.2. 展示轮播图接口 9 2.1.3. 展示广告 ...

  4. midi接口 stm32_万利的STM32板实现的USB MIDI键盘

    万利的STM32板实现的USB MIDI键盘 我是拿原来的USB摇杆的那个程序来改的,所以里面还有很多 原来的摇杆方面的东东,懒得去改它了,能用就行了. 源代码包下载: 地址1: 地址2:http:/ ...

  5. MIDI音乐制作概论,常用插件与流行音乐模板

    MIDI音乐制作概论 MIDI音乐在制作过程中需要用到相当多的插件,从最基本的压缩EQ到稍微高端一些的粒子效果glitch等.本笔记主要介绍一下常用的几种效果器. 1.1混音的评价标准: 能制作出一般 ...

  6. Arduino 解读系列(1)数字接口/模拟接口

    原文地址:https://www.jianshu.com/p/839e8f58335c       最近接触到一款入门级嵌入式产品------ Arduino,非常容易上手且很有趣,可以很方便的搭建出 ...

  7. 使用 HTML、CSS 和 JavaScript 制作模拟时钟(初学者教程)

    在线演示地址:https://haiyong.site/demo/clock1.html 文章目录 步骤1:创建制作此时钟的基本结构 步骤2:使用 CSS 代码设计背景 步骤3:使用 CSS 代码设计 ...

  8. 利用ESP8266与米思齐从零制作模拟温室大棚--介绍篇

    一.温室大棚总体框架 我将搭建一个模拟温室大棚的模型,以实现模拟自动化农业生产过程的功能. 其中搭载温湿度控制系统.水位检测及报警系统.OLED屏幕显示.水循环系统. 水循环系统是在农作物土壤下覆盖有 ...

  9. 使用OLAMI自然语言开放平台提供的API接口制作自己的语音助手

    告诉你如何使用OLAMI自然语言理解开放平台API制作自己的智能对话助手 我们经常在电影中看到机器和人对答如流,随着越来越多自然语言开放平台的出现,IT爱好者制作一个自己的APP或者小玩具等逐渐可以变 ...

最新文章

  1. mysql导入数据出现Errcode: 2 - No such file or directory错误信息
  2. 字节跳动算法工程师总结:java接口实验报告总结
  3. Java基础点:常用类
  4. 网页性能优化02-懒加载工作原理
  5. Linux中Shell的转义用法笔记
  6. horizon client 无法识别域_「领域驱动设计DDD」事件风暴简介:实现域驱动设计的简便方法...
  7. python读取dicom文件的包_python 读取DICOM头文件的实例
  8. 树莓派安装mysql5.6_Linux上安装MySQL5.6
  9. 【JS基础】JavaScript语言简介及简单例子
  10. 计算机进入安全模式,电脑无法进入安全模式如何解决
  11. win7 ie8升级到ie9后教你如果如何还原ie8
  12. 普华集团翟山鹰:金融激荡30年 深度洞察金融的“奥秘”
  13. page fault
  14. 腾讯云php小程序,使用微信小程序和腾讯云实现直播功能
  15. 一些比较好用的域名信息查询网站
  16. c和c++中 typedef struct与struct,以及 typedef struct LNode *list
  17. ImageList 、ListView组合显示图片集合
  18. pyqt实现图片轮播
  19. Package javax.script
  20. 如何删除百度快照?百度快照是什么?百度快照优化是什么意思?

热门文章

  1. linux vnc 禁止复制,Linux_Linux系统下VNC SERVER的相关配置,安装: 复制代码代码如下: - phpStudy...
  2. html css的简单学习
  3. 易经玄学诠释人的一生
  4. 【问题】google浏览器导出不了书签夹,崩溃
  5. 自制小强机器人,能看能听能说能画
  6. python pandas dropna_Pandas之Dropna滤除缺失数据的实现方法
  7. Sql确定两个日期之间的工作日数目
  8. 锂电池实验室设计SICOLAB
  9. 深度学习论文代码复现——CycleGAN和pix2pix
  10. Android仿淘宝购物车demo