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.')
Другие вопросы по тегам