我正在使用this midi文件。我看到合成器分別爲每個MIDI音軌檢測到2個錄音機,2個大提琴和1個低音提琴,但在MIDI文件中沒有任何「樂器名稱」元事件。如果文件不包含任何儀器名稱元事件,Synthesia如何檢測儀器名稱?
這裏發生了什麼?
我正在使用this midi文件。我看到合成器分別爲每個MIDI音軌檢測到2個錄音機,2個大提琴和1個低音提琴,但在MIDI文件中沒有任何「樂器名稱」元事件。如果文件不包含任何儀器名稱元事件,Synthesia如何檢測儀器名稱?
這裏發生了什麼?
MIDI規範本身沒有定義程序改變消息映射到的工具。 MIDI文件應包含一個系統專用信息,用於爲所需標準初始化合成器(例如,用於通用MIDI的「GM系統開啓」或用於XG的「XG復位」)。
此文件不包含這樣的初始化。但大多數文件是用於通用MIDI(大多數其他標準與GM兼容),因此Synthesia假定MIDI文件適用於支持通用MIDI的合成器,並且只需從GM instrument list獲取名稱。
通用MIDI規範給出了實際樂器到樂器編號的默認分配 - 例如,樂器#44是一個低音提琴。 MIDI文件在其他系統之間完全沒有可移植性。
但是,最低音在#44中,或者在本例中是錄音機的0x4A在哪?在每個midi曲目開始的節目改變midi活動中,我發現了。 – Garmekain