我正在使用music21为一堆midi文件提取midi音高编号(按顺序)。
我一直在阅读文档,我可以像这样加载一个文件:
from music21 import *
sBach = corpus.parse('bach/bwv7.7')
现在我如何显示midi数字序列?我确信这是可能的,但我无法在文档中找到该功能。
有没有办法同时为多个文件执行此操作?
答案 0 :(得分:2)
from music21 import *
sBach = corpus.parse('bach/bwv7.7')
for p in sBach.parts:
print("Part: ", p.id)
for n in p.flat.notes:
print(n.pitch.midi)
请注意,.notes
包含Chord
个对象,这些对象不具有.pitch
属性。因此,对于复杂的分数,您可能需要将音符与音符分开或迭代p.pitches
。我想在继续之前你会想要更多地阅读音乐21 User's Guide。