Я пытаюсь предсказать следующую пару нот музыкального инструмента в python, используя нейронную сеть RNN.Однако у меня возникают проблемы с интерпретацией документации music21 для части, в которой я сейчас работаю.
В приведенном ниже коде я пытаюсь извлечь музыкальный инструмент.
Почему я получаю несколько инструментов?Пример: Instrument.Piano.Piano.
- Моя текущая теория заключается в том, что каждая часть потока возвращает свой адрес памяти, или музыка21 имеет несколько вариантов этих разных инструментов.Если второе утверждение верно, есть ли способ получить уникальность для каждого варианта инструмента?
Почему некоторые инструменты не имеют названия какого-либо рода?
- У меня есть несколько идей, почему это так, но я хочу подтвердить сообществу, что я все еще в здравом уме.
# 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)
Вывод моего файла: