我有一些midi文件。每个midi文件都有一些乐器。我需要知道每个midi文件包含哪些工具。我找到了一些可以解析midi文件的python
库,例如mido。例如,以下是解析一个midi文件的结果:
我可以看到这个midi文件中有多少曲目,但我不知道每个曲目播放的乐器。这是midi乐器table。有人知道解决方案吗?
答案 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.')