我对 python 很满意,但最近开始尝试一些音乐分析。我遇到了 music21,我想知道如何提取音乐 .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)将其转换为我想要的列表格式。
对此的任何帮助将不胜感激。同时,我将继续阅读文档。提前致谢!