Poszukuję sposobu na zmianę poszczególnych nut w istniejącym pliku MIDI w Pythonie. Znalazłem wiele pakietów, które pozwalają na pisanie plików MIDI, ale nie zmieniając istniejących. Czy istnieje pakiet, który mógłby pomóc w tym lub sposób analizowania hex pliku MIDI, aby to osiągnąć?Manipulowanie plikami MIDI w Pythonie
Odpowiedz
Prawdopodobnie nie można "zmienić istniejących plików", jeśli chodzi o modyfikowanie ich na miejscu.
Ale możesz po prostu przeanalizować plik MIDI, zmienić go (w pamięci lub iteracyjnie) i napisać nowy.
Nie wspomniałeś, które pakiety oglądałeś, aby pisać pliki MIDI, ale każdy, z którym kiedykolwiek miałem do czynienia, może również czytać pliki MIDI, więc prawdopodobnie masz już wszystko, czego potrzebujesz.
I nie ma nic, co wymagałoby użycia tego samego pakietu do czytania i pisania. Na przykład możesz użyć midiparser
do czytania i python-midi
do pisania; kod do mapowania wiadomości MIDI z jednego pakietu na drugi jest banalny.
Program open source przekształca MIDI na tekst CSV i na odwrót. Możesz otworzyć plik CSV jako tekst i łatwo go edytować za pomocą Pythona, bez konieczności polegania na specjalnych modułach.
Aby uzyskać informacje na temat protokołu MIDI, patrz:
W recent project Znalazłem to praca bardzo łatwe do zrobienia.
Większość pakietów, które mogą pisać pliki MIDI, może je również odczytać. Jeśli nie, szybkie wyszukiwanie [PyPI] (https://pypi.python.org/pypi?%3Aaction=search&term=midi&submit=search) powoduje pojawienie się wielu opcji, takich jak 'midiparser'. – abarnert