在Python中操作MIDI文件

let*_*ead 6 python midi python-3.3

我正在寻找一种方法来改变Python中预先存在的MIDI文件中的单个音符.我发现很多软件包允许写入MIDI文件,但不能改变现有文件.是否有一个包可以帮助解决这个问题或解析MIDI文件的十六进制来实现这个目的?

bra*_*ese 5

开源程序MIDICSV将MIDI转换为文本CSV,反之亦然。您可以打开CSV文件作为文本,并使用Python轻松对其进行编辑,而不必依赖任何特殊模块。

有关MIDI协议的信息,请参见:

最近的项目中,我发现这项工作非常容易完成。


aba*_*ert 3

如果您的意思是就地修改它们,您可能无法“更改现有文件”。

但您可以解析 MIDI 文件,更改它(在内存中或迭代地),然后编写一个新文件。

您没有提到您查看了哪些软件包来编写 MIDI 文件,但我处理过的每个软件包也都可以读取 MIDI 文件,因此您可能已经拥有了所需的一切。

并且不需要您使用相同的包来进行读取和写入。例如,您可以用于midiparser阅读和python-midi写作;将 MIDI 消息从一种包格式映射到另一种包格式的代码很简单。