2013-06-03 93 views
5

我正在尋找一種方法來更改Python中預先存在的MIDI文件中的各個音符。我發現了很多允許MIDI文件寫入的軟件包,但不會改變現有的文件。有沒有一個可以幫助解決這個問題的軟件包,或者是解析MIDI文件的十六進制來完成這個任務的方法?在Python中操作MIDI文件

+0

大多數可以寫入MIDI文件的軟件包也可以讀取它們。如果沒有,快速[PyPI搜索](https://pypi.python.org/pypi?%3Aaction=search&term=midi&submit=search)會出現一些選項,比如'midiparser'。 – abarnert

回答

3

如果您是指就地修改它們,您可能無法「更改現有文件」。

但是,你可以解析MIDI文件,改變它(內存中,或迭代),並寫一個新的。

你沒有提到你看過哪些包寫入MIDI文件,但是我曾經處理過的每一個包都可以讀取MIDI文件,所以你可能已經擁有了你需要的一切。

而且沒有什麼要求您使用同一個軟件包進行讀寫。例如,您可以使用midiparser進行讀取,使用python-midi進行寫入;將MIDI消息從一種包格式映射到另一種格式的代碼很簡單。