MusicXML: 2 голоса в 1 измерении

#musicxml

Вопрос:

Я пытаюсь создать файл MusicXML с 2 голосами:

 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC
    "-//Recordare//DTD MusicXML 4.0 Partwise//EN"
    "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="4.0">
  <part-list>
    <score-part id="P1">
      <part-name>Music</part-name>
    </score-part>
  </part-list>
  <part id="P1">
    <measure number="1">
      <attributes>
        <divisions>1</divisions>
        <key>
          <fifths>1</fifths>
        </key>
        <time>
          <beats>4</beats>
          <beat-type>4</beat-type>
        </time>
        <clef>
          <sign>G</sign>
          <line>2</line>
        </clef>
      </attributes>
      <note>
        <voice>1</voice>
        <pitch>
          <step>F</step>
          <alter>1</alter>
          <octave>4</octave>
        </pitch>
        <duration>2</duration>
        <type>half</type>
      </note>
      <note>
        <pitch>
          <step>G</step>
          <alter>0</alter>
          <octave>4</octave>
        </pitch>
        <voice>1</voice>
        <duration>2</duration>
        <type>half</type>
      </note>
      <note>
        <pitch>
          <step>C</step>
          <alter>0</alter>
          <octave>4</octave>
        </pitch>
        <voice>2</voice>
        <duration>2</duration>
        <type>half</type>
      </note>
      <note>
        <pitch>
          <step>A</step>
          <alter>0</alter>
          <octave>3</octave>
        </pitch>
        <voice>2</voice>
        <duration>2</duration>
        <type>half</type>
      </note>
    </measure>
  </part>
</score-partwise>
 

Мне кажется, все в порядке: заметки в той же мере. Но когда я использую musicxml2ly , а затем lilypond я получаю второй голос, переключенный на следующее измерение:

введите описание изображения здесь

Что случилось?

Ответ №1:

Каждая нота в musicxml перемещает указатель времени вперед, поэтому мой musicxml представляет два голоса, которые следуют друг за другом. Чтобы сделать их параллельными, нам нужно выполнить <backup> полную меру перед нотами голоса 2, чтобы сбросить указатель времени на начало измерения.

 <note>
    <voice>1</voice>
    ...
</note>
<backup>
    <duration>4</duration>
</backup>
<note>
    <voice>2</voice>
    ...
</note>
 

https://www.w3.org/2021/06/musicxml40/musicxml-reference/elements/backup/