2008-08-29 66 views
1

我正在製作一個簡單的遊戲以學習一門新的語言。我正在爲遊戲收集一些音樂,並希望使用MIDI格式,以便我可以控制軌道的流動(即,我想介紹一下只播放一次,不再播放時歌曲循環)如何在MIDI文件中嵌入控制更改命令

我很難找到有關如何修改現有MIDI文件的信息,以便他們可以向合成器發送控制更改信號。有沒有人有過這方面的經驗?


我認爲我應該更清楚我的原始問題。我正在使用現有的遊戲引擎來照顧音樂。我覺得這個控制變化值必須直接嵌入MIDI文件本身,因爲我無法控制合成器。從手冊:

MIDI文件播放通過 DirectMusic合成器。如果BGM MIDI 文件包含控制更改值 111,則該值將被識別爲 該歌曲將在 到達結尾後開始重複。

我希望我可以通過編程的方式做到這一點。我想我在這裏之後是某種編輯器,它允許我修改我已有的MIDI文件。

回答

2

DirectMusicProducer可能是你最好的自由選擇,如果你正在使用的DirectMusic播放。我不相信MIDI錄製功能會包含控制更改,但是您的引擎可能支持更靈活的播放段文件。

約10年前,我使用的唯一一臺MIDI音序器的價格大約爲300美元(而且似乎不存在),但我不知道任何高質量的免費MIDI文件音序器。 (請注意,「MIDI編輯器」可能與「MIDI文件編輯器」或「MIDI音序器」不同)

3

嘗試尋找在Midi 1.0 spec

這裏是control change messages的表,雖然它看起來像你正在尋找一種方式,軟件做到這一點。是?

你可以嘗試只重新發送它作爲原始MIDI數據(即上表中的信息)找過你的問題

...我的答案是沒有多大用處......

我如果我是你是獨立的介紹到它自己的文件,然後你有一個文件包含只是你想循環。

你也可以看看規格爲Standard Midi File format (SMF)

相關問題