我正在制作一个简单的游戏,以便学习一门新语言。我正在为游戏收集一些音乐,并希望使用MIDI格式,以便我可以控制音轨的流程(即,我希望有一个只播放一次但不播放的介绍时歌曲循环。)
我很难找到有关如何修改现有MIDI文件的信息,以便他们可以向控制器发送控制变化信号。有没有人有这方面的经验?
我认为我原本的问题应该更清楚了。我正在使用现有的游戏引擎,负责播放音乐。我的印象是这个控制变化值必须直接嵌入MIDI文件本身,因为我无法控制合成器。从手册:
MIDI文件通过。播放 DirectMusic合成器。如果是BGM MIDI file包含控件更改值 111,该值被识别为where 这首歌将在它之后开始重复 到了最后。
我希望我能以编程方式完成。我想我之后的是某种编辑器,它允许我修改我已经拥有的MIDI文件。
答案 0 :(得分:4)
听起来你真正想要的是midi editor
答案 1 :(得分:3)
尝试查看Midi 1.0 spec
这是control change messages的表格,虽然看起来你正在寻找一种在软件中执行此操作的方法。是吗?
您可以尝试将其作为原始midi数据发送(即该表上的消息)
再次查看你的问题......我的答案并不那么有用......
如果我是你,我会做什么,将其引入自己的文件,然后你有一个包含只是你想要循环的文件。
的规范答案 2 :(得分:2)
DirectMusicProducer可能是您最好的免费选项。我不相信MIDI记录功能会包含控件更改,但您的引擎可能支持播放更灵活的段文件。
我使用的唯一MIDI音序器大约10年前花费了大约300美元(并且似乎不再存在),但我不知道任何质量好的免费MIDI文件序列器。 (请注意,“MIDI编辑器”可能与“MIDI文件编辑器”或“MIDI音序器”不同)