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
risposta
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.
Il programma open source MIDICSV converte il MIDI in testo CSV e viceversa. Puoi aprire un file CSV come testo e modificarlo facilmente usando Python, senza dover contare su alcun modulo speciale.
Per informazioni sul protocollo MIDI, vedere:
In un recent project ho trovato questo lavoro molto facile da fare.
- 1. Come "rallentare" un file MIDI (idealmente in Python)?
- 2. Lettura di file MIDI
- 3. Come posso scrivere un file MIDI con Python?
- 4. Creazione di file MIDI in Haskell
- 5. Libreria MIDI cross-platform semplice per Python
- 6. Riproduzione di file MIDI multi-strumento IOS
- 7. Invio di messaggi MIDI usando Python (su Ubuntu)
- 8. Pubblicare manualmente MIDI MIDI su iOS, senza CABTMIDILocalPeripheralViewController
- 9. Powershell per manipolare il file host
- 10. MIDI Over Bluetooth
- 11. Manipolare in stringa di booleani
- 12. Riproduzione di file midi con MusicPlayer & Music Sequence
- 13. Supporto di musica MIDI in HTML5
- 14. Java Midi in Mac OSX interrotto?
- 15. Python - Crea script per manipolare i percorsi dei file di Windows ma funziona su Linux
- 16. MIDI OUT trasmettitore non disponibili
- 17. Invio MIDI l'USB utilizzando Arduino
- 18. Manipolare lo stack monade
- 19. Manipolare: spaziatura e Background
- 20. Come posso convertire da midi a wav/mp3 in C#?
- 21. Come manipolare JSON AST in Scala
- 22. Converti struttura dati MIDI in Java (Elenco, Hash Map, ???)
- 23. Come convertire correttamente i ticks MIDI in millisecondi?
- 24. Principiante MIDI: è necessario suonare una nota
- 25. Utilizzare Raphael per manipolare SVG
- 26. Silverlight può comunicare con uno strumento MIDI?
- 27. Invia segnale midi da C# a ableton
- 28. inviare messaggi MIDI tramite USB su Android
- 29. PHP manipolare array multidimensionale valori
- 30. Come si suona il MIDI su iPhone?
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