Python 使用Music21(或替代品)从MIDI中提取休止符,并写入以分离MIDI曲目
我正在尝试将一个简单的单通道、单乐器MIDI文件解析为notes和REST。我知道“rest”并不是直接编码到MIDI中,而只是缺少NoteOn/NoteOff对 我试图做的是从第一个(也是唯一一个)MIDI通道(0)读取数据,并使用Python中的Music21提取音符和休息。一旦我这样做了:Python 使用Music21(或替代品)从MIDI中提取休止符,并写入以分离MIDI曲目,python,midi,music21,Python,Midi,Music21,我正在尝试将一个简单的单通道、单乐器MIDI文件解析为notes和REST。我知道“rest”并不是直接编码到MIDI中,而只是缺少NoteOn/NoteOff对 我试图做的是从第一个(也是唯一一个)MIDI通道(0)读取数据,并使用Python中的Music21提取音符和休息。一旦我这样做了: 我将在0频道上留言 我将在一个单独的通道(通道1)上,将REST编码为正常的NoteOn/NoteOff对。我还可以在这里记录休息的时间 然后,我可以使用这些数据在我稍后构建的前端中显示注释和休息 所以
requests
从URL下载一个示例MIDI文件,并尝试使用requests.content
解析此音乐21。这是否恰当谢谢你的帮助,我对音乐21库很陌生 music21肯定会从MIDI文件中创建音符和休息。你还有什么进一步的目标
import music21
parsed = music21.converter.parse('source.mid')
for elem in parsed.flat.notesAndRests:
print(elem)
print(elem.pitch.name)
print(elem.quarterLength)