使用music21显示Mid文件中的MIDI音高编号
我正在使用music21这个工具来提取一堆midi文件中的音高数字(按顺序)。
我已经看过文档,发现可以这样加载一个文件:
from music21 import *
sBach = corpus.parse('bach/bwv7.7')
现在我想知道怎么才能显示一系列的midi数字?我相信这是可能的,但我在文档里找不到相关的函数。
还有没有办法同时处理多个文件呢?
1 个回答
3
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
。我建议你在继续之前,先多看看 music21 的 用户指南。