Я пытаюсь отделить канал 10 (ударные) от миди-файла с помощью music21, а затем преобразовать его в объект 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: индекс списка вне диапазона