如何区分 MIDI 文件中的标准。
发布网友
发布时间:2022-04-26 12:42
我来回答
共1个回答
热心网友
时间:2022-06-28 08:32
gm 是通用midi格式;所有midi设备、midi文件都支持
gs是roland公司推出的格式,roland公司出品的音源和合成器都支持gm gs;
xg 是yamaha公司推出的格式,yamaha公司出品的音源和合成器都支持gm xg;
具体区分可以看midi文件系统码,没有系统码的那就默认为gm了
初始信息:
GM格式:F0 7E 7F 09 01 F7
GS格式:F0 41 10 42 12 40 00 7F 00 41 F7
XG格式:FO 43 10 4C 00 00 7E 00 F7
系统专用信息的格式:
开始字节+厂家识别码+设备识别码+型号识别码+命令识别码+数据内容+结束标志
其中的开始字节和结束标志是固定的:开始F0、结束F7;
厂家识别码就是例如:ROLAND的GS为41、YAMAHA的XG为43(大家可以在MIDI的相关网站查阅到);
设备识别码为“1n”状态,其实就是MIDI设备通道的意思(这里区别于MIDI通道),具体使用可以在n的位置添入相应的通道号,例如:要将一条GS的专用信息发送给第五通道,具体的系统码是:F0 41 15 42 12 40 00 7F 00 41 F7,一般情况下保持默认的“10”就可以。型号识别码就是音源规格标志码:GS为42、XG为4C(一般我们只会涉及这两种格式);
命令识别码就是要执行什么类型的指令,各厂家有自己的指令码规定(XG在系统码方面的公开性是最好的,其次才是GS);
数据内容包括数据地址码和数据具体内容,接着又各自分成高位和低位字节。