#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/