2013-06-03 9 views
5

Sto cercando un modo per cambiare le singole note in un file MIDI preesistente in Python. Ho trovato molti pacchetti che consentono la scrittura di file MIDI, ma non alterano quelli esistenti. C'è un pacchetto che potrebbe aiutare con questo o un modo di analizzare l'esadecimale del file MIDI per realizzare questo?Manipolare file MIDI in Python

+0

La maggior parte dei pacchetti in grado di scrivere file MIDI può anche leggerli. In caso contrario, una rapida [ricerca PyPI] (https://pypi.python.org/pypi?%3Aaction=search&term=midi&submit=search) mostra un sacco di opzioni, come 'midiparser'. – abarnert

risposta

3

Probabilmente non è possibile "modificare i file esistenti" se si intende modificarli sul posto.

Ma è possibile solo analizzare il file MIDI, modificarlo (in memoria o in modo iterativo) e scriverne uno nuovo.

Non hai menzionato quali pacchetti hai guardato per scrivere file MIDI, ma tutti quelli con cui ho mai avuto a disposizione possono anche leggere file MIDI, quindi probabilmente hai già tutto ciò di cui hai bisogno.

E non c'è niente che richiede di utilizzare lo stesso pacchetto sia per la lettura che per la scrittura. Ad esempio, è possibile utilizzare midiparser per la lettura e python-midi per la scrittura; il codice per mappare i messaggi MIDI dal formato di un pacchetto all'altro è banale.