Midi инструмент индексный питон
У меня есть несколько миди-файлов. В каждом миди-файле есть несколько инструментов. Мне нужно знать, из каких инструментов состоит каждый миди-файл. Я нашел некоторые python
библиотеки, которые могут анализировать MIDI-файлы, такие как MIDO. Например, вот результат анализа одного файла midi:
Я могу видеть, сколько треков в этом миди-файле, но я не знаю, какие инструменты играют на каждом треке. Вот миди инструментальный стол. Кто-нибудь знает решение?
0 ответов
В MIDI инструменты известны как программы, и каждая дорожка может содержать несколько инструментов. Хотя они могут не перекрываться (если только не используют разные каналы). Вот код Python для отображения, когда в дорожке воспроизводится каждая программа. Код предполагает, что трек хранится вtrack
переменная:
time = 0
for msg in track:
time += msg.time
if msg.type == 'program_change':
program = msg.program
print(f'Time {time:6}, program {program:3} starts.')