2

我正在尝试使用 RNN 神经网络预测 python 中的下一个乐器音符对。但是,我无法解释我目前所在部分的 music21 文档。

在下面的代码中,我试图提取乐器。

  1. 为什么我会得到多种乐器?例如:乐器.钢琴.钢琴。

    • 我目前的理论是每个流部分都返回不同的内存地址,或者 music21 具有这些不同乐器的多个变体。如果第二个陈述成立,是否有办法获得每个仪器变体的唯一性?
  2. 为什么有些乐器没有任何名称?

    • 我对为什么会这样有一些想法,但我想与社区确认,以确保我仍然神志清醒。


# Attempt to parse midi file
try:
    midi = converter.parse(file)
except:
    # Midi file couldn't be opened
    return {"song_notes": [],
            "note_count": [],
            "small_file_check": False,
            "corrupted": True}

# Stores all found instruments
instruments_in_song = set()

# Iterate through stream parts
for stream_part in midi.parts:
    stream_instrument = instrument.partitionByInstrument(stream_part)
    if stream_instrument:
        for instr in stream_instrument.recurse().parts:
            print("Instrument: {0}".format(instr.getInstrument()))
            instruments_in_song.add(instr.getInstrument())

print(instruments_in_song)

我的文件输出:

我的文件输出

4

0 回答 0