c语言读取midi文件举例子,从MIDI文件获取音符数据
Nik Reisman - 对不起,但我不同意你......在C#中解析midi,C++是大约400行代码的东西......它没有什么困难,也没有困难。
在简短的描述解析器将如何工作:
1)打开midi字节模式
2)阅读标题块,其中有关于大小,轨道数量和重要文件格式的信息!
- 有3种格式:0,1,2(类型2实际上是“有价值的”,只有少数这种类型的midi文件,所以如果存在类型2,则不需要读取midi)
- 如果没有写:"MThd" (0x4D546864),结束错误(这是一个糟糕的MIDI文件)
3)阅读音轨块
- 如果没有写:"MTrk" (0x4D54726B)结束,错误(这是一个糟糕的MIDI文件)
4)阅读midi活动.. - 有很多活动,您可以使用if-else命令阅读所有活动,或者只能阅读您想知道的活动,例如NOTE ON,NOTE OFF - 有时在一些midi文件中不是NOTE NOTE..This事件是chang ed NOTE ON和速度0
在网站上的一切都很好地解释。如果你以字节模式打开midi文件,你将只有几个方法,一切都只是关于if-else命令,并且你将捕获现在存储的内容。
理解VARIABLE LENGTH很重要,但在网站上也有解释。这并不难。您也可以在谷歌的许多网站中使用一些图片和示例来解释VARIABLE LENGTH。所以我不认为在这里很难解释它。
如果你想多一点建议,写信给我,我会试试看。但是解析midi并不像看起来那么困难。如果你有一些问题,请写信给我。
c语言读取midi文件举例子,从MIDI文件获取音符数据相关推荐
- c语言读取midi文件举例子,使用AudioKit从MIDI文件中读取音符
Tony Fung Choi Fung 8 ios swift audiokit 我正在尝试构建一个从midi文件中呈现音符的音序器. 目前我正在使用AudioKit进行音乐数据处理.想知道如何使用A ...
- c语言读取midi文件举例子,c# – 使用NAudio从MIDI文件中读取音符
任务是使用NAudio库从MIDI文件中获取所有音符和时间.到目前为止,我从文件中获取所有笔记,但我无法得到他们的时间. Note noteOn = new Note(); //custom clas ...
- python openpyxl 读取Excel,超简单案例python openpyxl 获取表格数据
1. import openpyxl 导入openpyxl模块 import openpyxl #导入模块openpyxl 2. 获取的文件(×××.xlsx) 使用openpyxl下的方法获取Exc ...
- C语言读取midi文件,《MIDI指令协议格式》.doc
用通用单片机制作MIDI键盘 作者:徐斌 MIDI是电子乐器的语言,随着MIDI的诞生,数字化电子乐器已经越来越多,MIDI的应用也越来越普遍,在电子乐队演奏,电子音乐制作等各个领域,发挥着越来越大的 ...
- R语言读取excel文件实战(read.xlsx函数、read_excel函数、read.xlsx函数、Write函数)
R语言读取excel文件实战(read.xlsx函数.read_excel函数.read.xlsx函数.Write函数) 目录 R语言读取excel文件实战(read.xlsx函数.read_exce ...
- 使用C语言读取properties文件V1.0
本程序使用C语言读取类似以下格式的properties文件. path = /etc/wgetrc launch_on_start = true 下一版目标: (1)使用指针代替二维数据或者二维数据的 ...
- c语言加法结合性,C语言 运算符 的结合性 怎么理解?求举例子详细解答!!
C语言 运算符 的结合性 怎么理解?求举例子详细解答!! 关注:284 答案:5 信息版本:手机版 解决时间 2019-01-11 21:03 战魂 2019-01-11 10:01 C语言 运算 ...
- r语言读取excel数据_R语言 | 更快的表格文件读取方法!
友情提示:蓝色下划线字体为引文,请保持警惕! 使用R语言读取 Affymetrix Human Exon 1.0 ST Array 芯片平台探针注释文件: https://www.affymetrix ...
- c语言读取txt第二行数值,c语言读取文件的第二行
c语言读取文件的第二行 (2012-04-10 00:23:55) 标签: c语言 二 杂谈 c语言读取文件的第二行用c语言读取文件的第二行,第三个域的内容 文件内容: abcd 123456 599 ...
最新文章
- 深入理解空间搜索算法 ——数百万数据中的瞬时搜索
- MySQL-索引优化篇(2)_使用索引扫描来优化排序
- 利用WiFi Pineapple Nano渗透客户端获取SHELL
- 提升Android应用视觉效果的10个UI技巧【转】
- @bzoj - 3238@ [Ahoi2013]差异
- 学习Windows2008——常用工具及命令(包括核心版部分命令)
- 苹果确认部分AirPods Pro存在静电噪音等声音问题 将免费更换
- Java基础学习总结(148)——如何提高代码质量
- Django使用orm创建数据表字段常用命令
- ios怎么引入masonry_iOS-Masonry的简单使用
- SLAM--单目尺度漂移(相似变换群Sim3)
- mysql去掉两个最高分_Excel函数 去掉最高分和最低分取平均值?这个函数不可不知...
- [bzoj3481]dzy loves math III 解题报告
- 荣耀手机安装谷歌框架_华为荣耀9青春版安装谷歌框架 无需Root 华为荣耀手机安装谷歌框架...
- 【OMNeT++】ALOHA协议仿真中的channelUtilization
- Star Way To Heaven
- 从使用者观点去认识软件系统
- Git add回退 commit回退
- primocache学生党常用场景设置
- webScoket即时聊天,用户不在线时消息暂存,上线立马收到