我对python很满意,但最近开始尝试一些音乐分析。我遇到过音乐21,我想知道如何提取音乐.mxl文件中每个音符的基本音符数据(音高和持续时间)。我已经阅读了文档,但一直在努力消化它并找到能满足我需要的东西。由于我对.mxl文件和音乐21的经验有限,我无法提供迄今为止我尝试过的任何实际例子。
但是,我收集到的是可以使用
获得音乐情节s = converter.parse('exampleFile.mxl')
test=s.measures(1, 10)
test.plot('horizontalbar')
,对于我使用的特定部分,看起来像
这清楚地表明,在第一个小节中,音符C4,Eb和G被演奏,其中小节的长度代表音符持续时间。最后,我希望以列表格式提供此数据。
通过这样做,
test=s.measures(1, 5)
test.show('text')
我可以获得所播放音符的列表,其中的节拍位于测量位置,但它的内容是印刷的是
{0.0} <music21.key.Key of E- major>
{0.0} <music21.meter.TimeSignature 4/4>
{0.0} <music21.note.Note C>
{0.5} <music21.note.Note E->
{1.0} <music21.note.Note G>
{1.5} <music21.note.Note E->
{2.0} <music21.note.Note C>
{2.5} <music21.note.Note E->
{3.0} <music21.note.Note G>
{3.5} <music21.note.Note E->
但是这仍然需要按摩:1)获得图表显示的相同信息和2),以使其成为我想要的列表格式。
对此的任何帮助都将非常感激。与此同时,我将继续阅读文档。提前谢谢!