我正在寻找一种方法来改变Python中预先存在的MIDI文件中的单个音符。我发现很多软件包允许写入MIDI文件,但不能改变现有文件。是否有一个可以帮助解决这个问题的方法或者解析MIDI文件的十六进制来实现这个目标?
答案 0 :(得分:5)
开源程序MIDICSV将MIDI转换为文本CSV,反之亦然。您可以将CSV文件作为文本打开,并使用Python轻松编辑,而无需依赖任何特殊模块。
有关MIDI协议的信息,请参阅:
在recent project中,我发现这项工作非常容易。
答案 1 :(得分:3)
如果您的意思是就地修改它们,您可能无法“更改现有文件”。
但是你可以解析MIDI文件,改变它(在内存中或迭代地),并写一个新文件。
你没有提到你用来编写MIDI文件的软件包,但我曾经处理过的每一个文件都可以读取MIDI文件,所以你可能已经拥有了所需的一切。
并且没有什么要求你使用相同的包进行读写。例如,您可以使用midiparser
进行阅读,使用python-midi
进行撰写;将MIDI消息从一种包的格式映射到另一种包的格式的代码是微不足道的。