音乐21秀(“midi”)只扮演一个角色

2024-04-19 10:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用music21解析和播放Windows 10 Jupyter笔记本上的musicxml文件

当我这样做时:

sa = converter.parse('d:/musicxml_folder/BeetAnGeSample.xml')
sa.show('midi')

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>

(为了可读性,我更改了乐谱乐器id和midi乐器id值)

我想听到midi播放器中所有乐器的部分。
如何处理


Tags: 文件nameid声音channelprogrammidixxx