MIDI文件结构分析及生成方法 |
|---|
| WAP技术站:www.wapease.com
|
从网上找的,已经将用BC写的改成了VC的,由于对音乐的理解比乐盲还差,对于程序中转换是否有问题我也不得而知,反正用VC生成的MIDI文件听起来惨不忍睹。 对于制作MIDI音乐来说,比播放MIDI文件本身更复杂得多。我们得了解一些乐理常识和MIDI文件结构。 一、MIDI文件结构分析 MIDI文件包含首部块(Header Chunk)和音轨块(Track Chunk)两部分。其格式一般如下: MThd <数据长度> <Header数据> //首部块 其中: MidiId称为MIDI文件头标志,一般将其设置为MThd; length为文件首部数据长度(除它本身和文件头标志占用的字节以外),通常它设置为6,即format,TrackNum和division共占用的字节数据长度; format表示MIDI文件存放的格式,当前只有3种格式: 0 表示MIDI文件只有一个Track Chunk; ┌─┬─────────┐ 其最高位一定要设置为0,其它的15位表示每一拍的计数值。如该数据为96(以八分音符为一拍),则表示一个四分音符延时数应该为192。 另外,在MIDI文件中,long和int型数据均将高字节值存放入低地址上,如一个long型数据为0x45678,则在文件中,存放的结果为:0x00,0x04,0x56,0x78。而在内存中,int,long的变量值通常将崐高字节值存放高地址上。因此,存放数据时,应该作一下调整。 |
| 上一篇:EMS图片格式转换(Java)程序 下一篇:利用手机模块实现短消息(一) |
|
