Midi乐器索引python

时间:2018-03-08 05:00:39

标签: python parsing midi midi-instrument mido

我有一些midi文件。每个midi文件都有一些乐器。我需要知道每个midi文件包含哪些工具。我找到了一些可以解析midi文件的python库,例如mido。例如,以下是解析一个midi文件的结果:

我可以看到这个midi文件中有多少曲目,但我不知道每个曲目播放的乐器。这是midi乐器table。有人知道解决方案吗?

1 个答案:

答案 0 :(得分: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.')