如果文件不包含任何仪器名称元事件,Synthesia如何检测仪器名称?

时间:2017-04-13 20:18:03

标签: midi file-format

我正在使用this midi文件。我看到,每个midi音轨分别检测到2个录音机,2个大提琴和1个低音提琴,但midi文件中没有任何“乐器名称”元事件。

这里发生了什么?

2 个答案:

答案 0 :(得分:0)

通用MIDI规范给出了仪器编号的实际仪器的默认分配 - 例如,仪器#44是最低音。否则,MIDI文件在不同系统之间绝对没有可移植性。

答案 1 :(得分:0)

MIDI规范本身并未定义程序更改消息映射到的仪器。 MIDI文件应该包含一个System Exclusive消息,用于初始化所需标准的合成器(例如,通用MIDI的“GM System On”,或者XG标准的“XG Reset”)。

此文件不包含此类初始化。但是大多数文件都是针对通用MIDI(并且大多数其他标准与GM兼容),因此Synthesia假设MIDI文件用于支持通用MIDI的合成器,并且只取名GM instrument list