当前位置:首页> 正文

如何将控制更改命令嵌入MIDI文件中

如何将控制更改命令嵌入MIDI文件中

How to embed control change commands inside of a MIDI file

我正在制作一个简单的游戏,以学习一种新的语言。我正在为游戏收集一些音乐,并且希望使用MIDI格式,以便可以控制音轨的流向(即,我希望有一个介绍,该介绍只能播放一次,而在播放时不播放歌曲循环播放。)

我很难找到有关如何修改现有MIDI文件的信息,以便它们可以将控制更改信号发送到合成器。有没有人对此有经验?

我认为我本来应该更清楚我的原始问题。我正在使用现有的游戏引擎来播放音乐。我的印象是,此控制更改值必须直接嵌入MIDI文件本身,因为我无法控制合成器。从手册:

MIDI files are played via the
DirectMusic Synthesizer. If a BGM MIDI
file contains the control change value
111, that value is recognized as where
the song will start repeating after it
reaches the end.

我希望我可以通过编程来完成。我想这里需要的是某种编辑器,它使我可以修改已经拥有的MIDI文件。


听起来像您真正想要的是Midi编辑器


尝试查看Midi 1.0规格

这是一张控件更改消息表,尽管您似乎正在寻找一种在软件中执行此操作的方法。是吗?

您可以尝试仅将其作为原始Midi数据(即该表上的消息)发送

再次查看您的问题...我的回答不是那么有用...

如果您是我该怎么办,请将简介分为自己的文件,然后您的文件中仅包含要循环的内容。

您还可以查看标准Midi文件格式(SMF)的规范。


如果您使用DirectMusic播放,

DirectMusicProducer可能是您最好的免费选项。我不认为MIDI录制功能会包含控件的更改,但是您的引擎可能支持播放更灵活的片段文件。

我使用的唯一MIDI音序器大约在10年前花费了大约300美元(并且似乎不再存在),但是我不知道有任何质量好的免费MIDI文件音序器。 (请注意," MIDI编辑器"可能与" MIDI文件编辑器"或" MIDI音序器"不同)


展开全文阅读

相关内容