| 
                     | 
                    
                        主题:  哪位朋友知道MIDI的文件头结构?
                     | 
                
            
                        
                
                    
                          zjlzh 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:87 
                        注册:2002/10/3 16:21:18 
                     | 
                    
                        
                            
                            #12002/11/29 12:28:16 
                            
                                我想了解MIDI文件的头结构,好用二进制方式打开,取出其中的信息如标题、作者、每个通道的乐器名(或编号)等等,可以不要音符信息,在网页上显示,哪位能帮我?谢谢!
                                
                                
                                
                             
                            
                                
                                    编辑历史:[这消息被zjlzh编辑过(编辑时间2002-11-29 12:37:12)] 
                                     
                                 
                             
                            
                         
                     | 
                
                        
                
                    
                          我爱你 
                        职务:普通成员 
                        等级:2 
                        金币:1.0 
                        发贴:646 
                        注册:2002/11/22 6:42:51 
                     | 
                    
                        
                            
                            #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 
                        注册:2002/10/3 16:21:18 
                     | 
                    
                        
                            
                            #32002/12/1 12:10:01 
                            
                                感谢pyaus提供这么详细的资料。     其实我最主要的需要读出每个通道使用的音色(乐器)编号就行了,其它信息可以不要。帮我这方面介绍详细点好吗?用Delphi或其它语言写一ActiveX控件嵌入网页能行吗?怎么做?再次麻烦您了!
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          我爱你 
                        职务:普通成员 
                        等级:2 
                        金币:1.0 
                        发贴:646 
                        注册:2002/11/22 6:42:51 
                     | 
                    
                        
                            
                            #42002/12/1 18:46:55 
                            
                                可以的 你是不是想在网中插入声?  直接用DW插ActiveX控件 双击控件打开你想要的MIDI音乐 就可以了 去这个网站或许可以找到你要的 www.midifan.com
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          zjlzh 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:87 
                        注册:2002/10/3 16:21:18 
                     | 
                    
                        
                            
                            #52002/12/1 21:54:18 
                            
                                pyaus:真不好意思!我说的不清楚。播放midi音乐我知道怎么做,现在是想读出midi文件各通道的乐器信息,在网页中显示出来,供讲解用。举例:     test.mid         曲名:蓝色的多瑙河       速度:96拍/分钟       通道1:钢琴       通道2:弦乐       通道3:小鼓          ......      我不想预先把各midi文件这些信息存在数据库里,那样工作量太大。只想在播放前临时才取出来显示。      midi软件一般都具备这功能,但在网页中不能运行,所以才提出这个问题。      看看您能否再帮我出出主意?
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          我爱你 
                        职务:普通成员 
                        等级:2 
                        金币:1.0 
                        发贴:646 
                        注册:2002/11/22 6:42:51 
                     | 
                    
                        
                            
                            #62002/12/1 23:19:59 
                            
                                办法是有的 real pyayer软件上 就有带有想关的代码 Mid的做法  你可以去代码区问问看吧
                                
                                
                                
                             
                            
                            
                         
                     | 
                
                        
                
                    
                          zjlzh 
                        职务:普通成员 
                        等级:1 
                        金币:0.0 
                        发贴:87 
                        注册:2002/10/3 16:21:18 
                     | 
                    
                        
                            
                            #72002/12/1 23:38:54 
                            
                                谢谢您!
                                
                                
                                
                             
                            
                            
                         
                     |