我想手动拥有一个根据用户需求创建MIDI文件的功能,例如。
用户在120速度,速度100,乐器钢琴(01)和补丁49或其他任何内容上写入包含4个四分之四A4(音乐会A - 440hz)和C4(每个作为分离频道)的8个小节的2个音色。
根据以上内容,MIDI文件应如何显示。 我的目标是学习如何创建一个生成MIDI数据的函数,然后将所有内容写入MIDI文件。
首先,我必须了解如何创建此函数或理解'MIDI文件语言',以便我可以编写它。
提前致谢。
答案 0 :(得分:16)
MIDI文件格式的其他好链接可以在这里找到:
答案 1 :(得分:8)
根据我最近阅读的所有MIDI信息,this似乎是最全面的教程,另一方面,以下链接是开始使用的好地方:
MIDI structure at the official MIDI website
此外,NAudio是一个.NET库,可以使用Mark Heath的MIDI文件 我也发现此链接非常有用,我想为什么不与人here分享。
我认为这是用于搞乱MIDI文件的最佳.NET API。
答案 2 :(得分:2)
只需补充一下,Somascape拥有非常全面且布局合理的MIDI文件结构和MIDI协议资源。 (请查看其网站上的下拉菜单,以获取其他资源页面)。最近,在为Swift编写MIDI框架时对我有很大帮助。