2

我对 python 很满意,但最近开始尝试一些音乐分析。我遇到了 music21,我想知道如何提取音乐 .mxl 文件中每个音符的基本音符数据(音高和持续时间)。我已经阅读了文档,但一直在努力消化所有内容并找到可以满足我需要的东西。由于我对 .mxl 文件和音乐 21 的经验有限,我无法提供迄今为止我尝试过的任何真实示例。

但是,我收集到的是可以通过使用来获得音乐的情节

s = converter.parse('exampleFile.mxl')
test=s.measures(1, 10)
test.plot('horizontalbar')

其中,对于我使用的特定作品,看起来像

mxl 示例图像

这清楚地表明,在第一小节中,音符 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)将其转换为我想要的列表格式。

对此的任何帮助将不胜感激。同时,我将继续阅读文档。提前致谢!

4

0 回答 0