2008-08-29 67 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)

相关问题