如何从 music21 乐谱中获取所有钢琴声部?
How can I get all piano parts from a music21 score?
我可以使用
获得 music21.stream.Score 中的所有零件
s = music21.stream.Score()
s.getElementsByClass(music21.instrument.Instrument)
或
music21.instrument.partitionByInstrument(s)
但是我找不到方法来检查每个部分是否使用钢琴乐器。有更好的方法吗?
要从 music21.stream.Score 中获取所有钢琴声部,您可以这样做:
from music21 import *
piano_parts = []
score = converter.parse('path/to/midi')
instr = instrument.Piano
for part in instrument.partitionByInstrument(score):
if isinstance(part.getInstrument(), instr):
piano_parts.append(part)
您可以将 instr
分配给任何其他 music21.instrument 以提取其他工具
我可以使用
获得 music21.stream.Score 中的所有零件s = music21.stream.Score()
s.getElementsByClass(music21.instrument.Instrument)
或
music21.instrument.partitionByInstrument(s)
但是我找不到方法来检查每个部分是否使用钢琴乐器。有更好的方法吗?
要从 music21.stream.Score 中获取所有钢琴声部,您可以这样做:
from music21 import *
piano_parts = []
score = converter.parse('path/to/midi')
instr = instrument.Piano
for part in instrument.partitionByInstrument(score):
if isinstance(part.getInstrument(), instr):
piano_parts.append(part)
您可以将 instr
分配给任何其他 music21.instrument 以提取其他工具