2013-06-03 2 views
5

Я ищу способ изменить отдельные заметки в ранее существовавшем MIDI-файле в Python. Я нашел много пакетов, которые позволяют записывать MIDI-файлы, но не изменяя существующие. Есть ли пакет, который может помочь с этим или способом разбора шестнадцатеричного MIDI-файла для этого?Манипулирование MIDI-файлами в Python

+0

Большинство пакетов, которые могут записывать MIDI-файлы, также могут их читать. Если нет, быстрый поиск [PyPI] (https://pypi.python.org/pypi?%3Aaction=search&term=midi&submit=search) включает кучу опций, например 'midiparser'. – abarnert

ответ

3

Возможно, вы не можете «изменить существующие файлы», если вы хотите изменить их на месте.

Но вы можете просто разобрать MIDI-файл, изменить его (в памяти или итеративно) и написать новый.

Вы не указали, какие пакеты вы намеревались написать MIDI-файлы, но каждый, с которыми я когда-либо сталкивался, также может читать MIDI-файлы, поэтому у вас, вероятно, уже есть все, что вам нужно.

И ничего не требует, чтобы вы использовали один и тот же пакет для чтения и записи. Например, вы можете использовать midiparser для чтения и python-midi для записи; код для отображения MIDI-сообщений из одного формата пакета в другой является тривиальным.

4

Программа с открытым исходным кодом MIDICSV преобразует MIDI в текст CSV и наоборот. Вы можете открыть CSV-файл в виде текста и легко его редактировать с помощью Python, не полагаясь на какие-либо специальные модули.

Для получения дополнительной информации по протоколу MIDI, см:

В recent project я нашел эту работу очень легко сделать.

Смежные вопросы