【问题标题】:How can I get all piano parts from a music21 score?如何从 music21 乐谱中获取所有钢琴部分?
【发布时间】:2018-03-24 06:55:39
【问题描述】:

我可以使用 music21.stream.Score 获取所有部分

s = music21.stream.Score()
s.getElementsByClass(music21.instrument.Instrument)

music21.instrument.partitionByInstrument(s)

但我找不到检查每个声部是否使用钢琴乐器的方法。有没有更好的方法来做到这一点?

【问题讨论】:

    标签: python music21


    【解决方案1】:

    要从 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 以提取其他乐器

    【讨论】:

      猜你喜欢
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      相关资源
      最近更新 更多