用于创建游戏的 Midi C 库

Posted

技术标签:

【中文标题】用于创建游戏的 Midi C 库【英文标题】:Midi C Library for creating a Game 【发布时间】:2011-06-16 15:36:50 【问题描述】:

我正在用 C 语言创建一个简单的基于 midi 的游戏,我想知道是否有任何库可以加载 midi 文件、播放并通过获取音符值来操作它。

提前致谢!

【问题讨论】:

【参考方案1】:

检查 SDL。更具体地说,SDL_mixer。

说明: SDL_mixer 是一个示例多通道音频混音器库。 它支持任意数量的同时播放 16 位立体声音频通道,以及由流行的 MikMod MOD、Timidity MIDI、Ogg Vorbis 和 SMPEG MP3 库混合的单通道音乐。

【讨论】:

谢谢,我过去使用过 SDL_Mixer,只是没有意识到它也支持 MIDI。【参考方案2】:

如果您想自己操作 MIDI 并处理其内容,而不仅仅是播放它,SDL_Mixer 可能不是您想要的。在这种情况下,我只会阅读规范并编写您自己的代码。 MIDI 是一种非常简单的格式,您可能可以在 15 分钟左右编写您需要的任何代码... :-)

【讨论】:

是的 - 但是如何在解析事件后生成声音:)【参考方案3】:

我意识到这个问题已经得到解答,但我必须同意@R.. 因为 SDL 可能对你想要做的事情来说太过分了。您还应该看看jdksmidi,这是一个用 C++ 编写的更小的 MIDI 库。

【讨论】:

以上是关于用于创建游戏的 Midi C 库的主要内容,如果未能解决你的问题,请参考以下文章

解析 MIDI 文件以记录事件

为 DAW 制作音频插件

使用 Python 创建 MIDI

用于 MIDI 到乐谱(注释)和/或音频翻译的纯 python 库

在 python 中播放 MIDI 文件?

在 python 中播放 MIDI 文件?