乐器采样库文件格式

--------------------------------------------------------------------------------------

1. 缩写: 乐器库的英文为: Musical instrument Libraryn 缩写: MIL 作为文件文件扩展名.mil

--------------------------------------------------------------------------------------

乐器采样库文件格式:

                                              信息头部

第1部分: 1 2E4D494C [32位 4字节] ASCII字符 .MIL (2E4D494C) 文件打开类型识别
            2 00000000 [32位 4字节] 校验码 0 不校验 dwCRC
            3 00000000 [32位 4字节] 乐器库编码(调用类别检查) dwMilCode
            4 0000 [16位 2字节] 采样率 wSamplesPerSec
            5 00 [8位 1字节] 声道数 byChannels
            6 00 [8位 1字节] 采样位数 byBitsPerSample
            7 00 [8位 1字节] 控制类型 (0: 钢琴类型,1: 提琴类型,200: 鼓符类型) byControlType
            8 00 [8位 1字节] 块数 byBlockCount
            9   0000000000000000000000000000000000000000 [20个字节] 库名 sMilName
            10 0000000000000000000000000000000000000000 [20个字节] 制作者 sProducer
            11 0000000000000000000000000000000000000000 [20个字节] 版权 sCopyright
            12 0000000000000000000000000000000000000000 [20个字节] 版本号 sVersionNumber

------------------------------------------------------------------------------

                          块属性表

第2部分: 1 00 [8位 1字节] 层数
               0000000000000000000000000000000000000000 块名称 [20个字节]

            2 地址增长按块数

            块起始地址 = 98 字节
            块表项长度 = 21 字节
            块表项偏移量 = 块起始地址 + 块表项长度 * 查找块

------------------------------------------------------------------------------

                         层属性表

           1 00 [8位 1字节] 力度值
              00 [8位 1字节] 力度范围

           2 地址增长按层数

              层起始地址 = 块起始地址 + 块表项长度 * 块数
              层属性表项长度 = 2 字节
              层属性表偏移量 = 层起始地址 + 层属性表长度 * 查找层

------------------------------------------------------------------------------

                           源地址表

           1 00000000 [32位 4字节] 地址
              00000000 [32位 4字节] 长度

           2 地址增长按88符号映射

           源表起始地址 = 层起始地址 + 层属性表长度 * 层数
           源表属性表项长度 = 8 字节
           源表属性表偏移量 = 源表起始地址 + 源表属性表项长度 * 查找源

------------------------------------------------------------------------------

                                    采样数据部分

第3部分: 1 采样数据1,采样数据2,采样数据3,采样数据4,

             源起始地址 = 源表起始地址 + 源表属性表项长度 * 源数

             源起始地址->填入当前块地址->记录采样数据

             当前记录地址 += 采样数据1长度

------------------------------------------------------------------------------

posted @ 2015-07-24 01:20  hbg200  阅读(369)  评论(0编辑  收藏  举报