我是编程和 Python 的新手,但我目前的很多研究都涉及从 musicxml 文件中提取数据。我有一首乐曲,想提取乐曲中出现的不属于调号一部分的临时记号的数量。我不知道该怎么做,请有人帮忙吗?这是我正在查看的 musicxml 文件中的一项度量的示例:
<measure number='19'>
<print new-system='no'/>
<note>
<rest/>
<duration>768</duration>
<voice>1</voice>
<type>quarter</type>
<staff>1</staff>
</note>
<backup>
<duration>768</duration>
</backup>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>2304</duration>
<tie type='start'/>
<voice>2</voice>
<type>half</type>
<dot/>
<staff>1</staff>
<notations>
<tied type='start'/>
<slur type='stop' number='1'/>
</notations>
</note>
<backup>
<duration>1536</duration>
</backup>
<note>
<pitch>
<step>E</step>
<alter>3</alter>
<octave>3</octave>
</pitch>
<duration>1536</duration>
<voice>1</voice>
<type>half</type>
<staff>1</staff>
</note>
<note>
<chord/>
<pitch>
<step>G</step>
<alter>4</alter>
<octave>3</octave>
</pitch>
<duration>1536</duration>
<voice>1</voice>
<type>half</type>
<staff>1</staff>
</note>
<backup>
<duration>2304</duration>
</backup>
<note>
<pitch>
<step>E</step>
<octave>2</octave>
</pitch>
<duration>2304</duration>
<voice>5</voice>
<type>half</type>
<dot/>
<staff>2</staff>
</note>
</measure>
问题转化为搜索musicxml文件并计算次数
<pitch>
<step>*</step>
<alter>**</alter>
...
发生在 * 不是(F 或 C)的情况下,并且还找出 * 是 F 或 C 并且后面没有<alter>
标签的次数。
任何帮助或建议将不胜感激!