|
主题: 哪位朋友知道MIDI的文件头结构?
|
zjlzh
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#12002/11/29 12:28:16
我想了解MIDI文件的头结构,好用二进制方式打开,取出其中的信息如标题、作者、每个通道的乐器名(或编号)等等,可以不要音符信息,在网页上显示,哪位能帮我?谢谢!
编辑历史:[这消息被zjlzh编辑过(编辑时间2002-11-29 12:37:12)]
|
我爱你
职务:普通成员
等级:2
金币:1.0
发贴:646
|
#22002/12/1 11:03:04
状态位 数据位 第一字节代码 (二进制)=(十六进制)=(十进制) 第一字节代码含义 第一字节 数据含义 第二字节 数据含义 通道号 功能 10000000=80=128 Channel 1 note off 以下均为 音符代码 (0-127) 请参见 MIDI音符代码表 以下均为 力度代码 (0-127) 10000001=81=129 Channel 2 note off 10000010=82=130 Channel 3 note off 10000011=83=131 Channel 4 note off 10000100=84=132 Channel 5 note off 10000101=85=133 Channel 6 note off 10000110=86=134 Channel 7 note off 10000111=87=135 Channel 8 note off 10001000=88=136 Channel 9 note off 10001001=89=137 Channel 10 note off 10001010=8A=138 Channel 11 note off 10001011=8B=139 Channel 12 note off 10001100=8C=140 Channel 13 note off 10001101=8D=141 Channel 14 note off 10001110=8E=142 Channel 15 note off 10001111=8F=143 Channel 16 note off 10010000=90=144 Channel 1 note on 10010001=91=145 Channel 2 note on 10010010=92=146 Channel 3 note on 10010011=93=147 Channel 4 note on 10010100=94=148 Channel 5 note on 10010101=95=149 Channel 6 note on 10010110=96=150 Channel 7 note on 10010111=97=151 Channel 8 note on 10011000=98=152 Channel 9 note on 10011001=99=153 Channel 10 note on 10011010=9A=154 Channel 11 note on 10011011=9B=155 Channel 12 note on 10011100=9C=156 Channel 13 note on 10011101=9D=157 Channel 14 note on 10011110=9E=158 Channel 15 note on 10011111=9F=159 Channel 16 note on 10100000=A0=160 Channel 1 polyphonic aftertouch 触后量代码 (0-127) 10100001=A1=161 Channel 2 polyphonic aftertouch 10100010=A2=162 Channel 3 polyphonic aftertouch 10100011=A3=163 Channel 4 polyphonic aftertouch 10100100=A4=164 Channel 5 polyphonic aftertouch 10100101=A5=165 Channel 6 polyphonic aftertouch 10100110=A6=166 Channel 7 polyphonic aftertouch 10100111=A7=167 Channel 8 polyphonic aftertouch 10101000=A8=168 Channel 9 polyphonic aftertouch 10101001=A9=169 Channel 10 polyphonic aftertouch 10101010=AA=170 Channel 11 polyphonic aftertouch 10101011=AB=171 Channel 12 polyphonic aftertouch 10101100=AC=172 Channel 13 polyphonic aftertouch 10101101=AD=173 Channel 14 polyphonic aftertouch 10101110=AE=174 Channel 15 polyphonic aftertouch 10101111=AF=175 Channel 16 polyphonic aftertouch 10110000=B0=176 Channel 1 control mode change 详见 MIDI信息 使用介绍 详表 10110001=B1=177 Channel 2 control mode change 10110010=B2=178 Channel 3 control mode change 10110011=B3=179 Channel 4 control mode change 10110100=B4=180 Channel 5 control mode change 10110101=B5=181 Channel 6 control mode change 10110110=B6=182 Channel 7 control mode change 10110111=B7=183 Channel 8 control mode change 10111000=B8=184 Channel 9 control mode change 10111001=B9=185 Channel 10 control mode change 10111010=BA=186 Channel 11 control mode change 10111011=BB=187 Channel 12 control mode change 10111100=BC=188 Channel 13 control mode change 10111101=BD=189 Channel 14 control mode change 10111110=BE=190 Channel 15 control mode change 10111111=BF=191 Channel 16 control mode change 11000000=C0=192 Channel 1 program change 程序代码 (0-127) 无 11000001=C1=193 Channel 2 program change 11000010=C2=194 Channel 3 program change 11000011=C3=195 Channel 4 program change 11000100=C4=196 Channel 5 program change 11000101=C5=197 Channel 6 program change 11000110=C6=198 Channel 7 program change 11000111=C7=199 Channel 8 program change 11001000=C8=200 Channel 9 program change 11001001=C9=201 Channel 10 program change 11001010=CA=202 Channel 11 program change 11001011=CB=203 Channel 12 program change 11001100=CC=204 Channel 13 program change 11001101=CD=205 Channel 14 program change 11001110=CE=206 Channel 15 program change 11001111=CF=207 Channel 16 program change 11010000=D0=208 Channel 1 channal aftertouch 触后量代码 (0-127) 无 11010001=D1=209 Channel 2 channal aftertouch 11010010=D2=210 Channel 3 channal aftertouch 11010011=D3=211 Channel 4 channal aftertouch 11010100=D4=212 Channel 5 channal aftertouch 11010101=D5=213 Channel 6 channal aftertouch 11010110=D6=214 Channel 7 channal aftertouch 11010111=D7=215 Channel 8 channal aftertouch 11011000=D8=216 Channel 9 channal aftertouch 11011001=D9=217 Channel 10 channal aftertouch 11011010=DA=218 Channel 11 channal aftertouch 11011011=DB=219 Channel 12 channal aftertouch 11011100=DC=220 Channel 13 channal aftertouch 11011101=DD=221 Channel 14 channal aftertouch 11011110=DE=222 Channel 15 channal aftertouch 11011111=DF=223 Channel 16 channal aftertouch 11100000=E0=224 Channel 1 pitch wheel control 音调调节轮 控制数据 低位字节 (0-127) 音调调节轮 控制数据 高位字节 (0-127) 11100001=E1=225 Channel 2 pitch wheel control 11100010=E2=226 Channel 3 pitch wheel control 11100011=E3=227 Channel 4 pitch wheel control 11100100=E4=228 Channel 5 pitch wheel control 11100101=E5=229 Channel 6 pitch wheel control 11100110=E6=230 Channel 7 pitch wheel control 11100111=E7=231 Channel 8 pitch wheel control 11101000=E8=232 Channel 9 pitch wheel control 11101001=E9=233 Channel 10 pitch wheel control 11101010=EA=234 Channel 11 pitch wheel control 11101011=EB=235 Channel 12 pitch wheel control 11101100=EC=236 Channel 13 pitch wheel control 11101101=ED=237 Channel 14 pitch wheel control 11101110=EE=238 Channel 15 pitch wheel control 11101111=EF=239 Channel 16 pitch wheel control 以下信息为系统信息,无指定的通道 11110000=F0=240 system exclusive 不定,由实际情况决定 11110001=F1=241 MIDI time code quarter frame 详见 MIDI信息详表 11110010=F2=242 song position pointer 低位字节 高位字节 11110011=F3=243 song select(song#) (0-127) 11110100=F4=244 undifined 保留 11110101=F5=245 undifined 保留 11110110=F6=246 tune request 无 11110111=F7=247 end of sysex(EOX) 无 11111000=F8=248 timing clock 无 11111001=F9=249 undifined 无 11111010=FA=250 start 无 11111011=FB=251 continue 无 11111100=FC=252 stop 无 11111101=FD=253 undifined 保留 11111110=FE=254 active sensing 无 11111111=FF=255 system reset 无 请您在说详细一点 非编区有人在卖书你可以去看看
编辑历史:[这消息被pyaus编辑过(编辑时间2002-12-01 11:19:07)]
|
zjlzh
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#32002/12/1 12:10:01
感谢pyaus提供这么详细的资料。 其实我最主要的需要读出每个通道使用的音色(乐器)编号就行了,其它信息可以不要。帮我这方面介绍详细点好吗?用Delphi或其它语言写一ActiveX控件嵌入网页能行吗?怎么做?再次麻烦您了!
|
我爱你
职务:普通成员
等级:2
金币:1.0
发贴:646
|
#42002/12/1 18:46:55
可以的 你是不是想在网中插入声? 直接用DW插ActiveX控件 双击控件打开你想要的MIDI音乐 就可以了 去这个网站或许可以找到你要的 www.midifan.com
|
zjlzh
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#52002/12/1 21:54:18
pyaus:真不好意思!我说的不清楚。播放midi音乐我知道怎么做,现在是想读出midi文件各通道的乐器信息,在网页中显示出来,供讲解用。举例: test.mid 曲名:蓝色的多瑙河 速度:96拍/分钟 通道1:钢琴 通道2:弦乐 通道3:小鼓 ...... 我不想预先把各midi文件这些信息存在数据库里,那样工作量太大。只想在播放前临时才取出来显示。 midi软件一般都具备这功能,但在网页中不能运行,所以才提出这个问题。 看看您能否再帮我出出主意?
|
我爱你
职务:普通成员
等级:2
金币:1.0
发贴:646
|
#62002/12/1 23:19:59
办法是有的 real pyayer软件上 就有带有想关的代码 Mid的做法 你可以去代码区问问看吧
|
zjlzh
职务:普通成员
等级:1
金币:0.0
发贴:87
|
#72002/12/1 23:38:54
谢谢您!
|