我正在尝试使用music21将通道10(鼓)与midi文件分开,然后将其转换为music21.Stream对象。
我尝试了以下代码,但在尝试将修改后的midiFile对象转换为Stream时似乎出现了一些错误。
midi_path = "NothingElseMatters.mid"
mf=midi.MidiFile()
mf.open(midi_path)
mf.read()
mf.close()
for i in range(len(mf.tracks)):
mf.tracks[i].events = [ev for ev in mf.tracks[i].events if ev.channel == 10]
s = midi.translate.midiFileToStream(mf)
这是我得到的错误:
第1487行,在midiTrackToStream中 mt.events [i + 1] .isDeltaTime()):IndexError:列表索引超出范围