Я использую music21
для анализа и воспроизведения музыки cxml на ноутбуке Jupyter Windows 10.
Когда я делаю:
sa = converter.parse('d:/musicxml_folder/BeetAnGeSample.xml')
sa.show('midi')
миди Проигрыватель открывается, и на выходе получается MIDI-файл со звуком, равным
<score-part id="P1">
. И инструмент анализируется неправильно. Я слышу звук рояля, но партитура P1 имеет инструмент «Голос».
Этот сэмпл xml имеет 3 атрибута, например:
<part-list>
<score-part id="P1">
<part-name>Voice</part-name>
<score-instrument id="xxx">
<instrument-name>Voice</instrument-name>
</score-instrument>
<midi-instrument id="xxx">
<midi-channel>1</midi-channel>
<midi-program>53</midi-program>
</midi-instrument>
</score-part>
<score-part id="P2">
<part-name>Piano</part-name>
<score-instrument id="xxx2">
<instrument-name>Acoustic Grand Piano</instrument-name>
</score-instrument>
<midi-instrument id="xxx">
<midi-channel>2</midi-channel>
<midi-program>1</midi-program>
</midi-instrument>
</score-part>
<score-part id="P652d2f88e786a36c81c494f7869835df">
<part-name>Piano</part-name>
<score-instrument id="xxx3">
<instrument-name>Acoustic Grand Piano</instrument-name>
</score-instrument>
<midi-instrument id="xxx">
<midi-channel>3</midi-channel>
<midi-program>1</midi-program>
</midi-instrument>
</score-part>
</part-list>
(я изменил идентификатор партитуры). и значения идентификатора миди-инструмента для удобства чтения)
Я хочу услышать все части инструментов в миди-плеере.
Как с этим справиться?