如何使用Music21从Midi文件中分离特定频道?

时间:2019-05-19 12:42:49

标签: python-3.x midi music21

我正在尝试使用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:列表索引超出范围

0 个答案:

没有答案