Как я могу отделить определенный канал от миди-файла с Music21? - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь отделить канал 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: индекс списка вне диапазона

...