gpt4 book ai didi

python - 使用 music21(python)从内核乐谱中获取零件 - 为什么找不到零件?

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:54 27 4
gpt4 key购买 nike

我已经用 music21 解析了一组 krn 文件,它们都由许多部分组成。我想重新混合这些部分并将它们保存为不同的文件。

但是,对于一些 kern 文件,music21 说它有 0 个部分:

>>> s = converter.parse('./data/Benedictus_23.krn')
>>> print len(s.parts)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Opus' object has no attribute 'parts' -> this really strange
>>> print len(s.voices)
0

该文件确实有不同的柱/工具。我怎么能分开/识别它们?它似乎也没有声音。

这是一个示例 header ( full file )

!!!COM: Palestrina, Giovanni Perluigi da
!!!OPR: Fratres Ego Enim Accepi
!!!OTL: Benedictus
**kern **kern **kern **kern
*Itenor *Icalto *Icalto *Icant
!Tenor !Altus 2 !Altus 1 !Cantus
*clefGv2 *clefG2 *clefG2 *clefG2
*k[b-] *k[b-] *k[b-] *k[b-]
*G:dor *G:dor *G:dor *G:dor
*M4/2 *M4/2 *M4/2 *M4/2
=1 =1 =1 =1
0r 0a 0r 0r
=2 =2 =2 =2

其他带有此 header 的 krn 文件可以工作:

!!!COM: Palestrina, Giovanni Perluigi da
!!!OPR: Dum esset summus pontifex
!!!OTL: Gloria
**kern **kern **kern **kern
*Ibass *Itenor *Icalto *Icant
!Bassus !Tenor !Altus !Cantus
*clefF4 *clefGv2 *clefG2 *clefG2
*k[] *k[] *k[] *k[]
*A:aeo *A:aeo *A:aeo *A:aeo
*M4/2 *M4/2 *M4/2 *M4/2
=1 =1 =1 =1
1.A 1.c# 1.e 1.a

关于如何分离乐器有什么想法吗?或者正确阅读部分内容?

最佳答案

显然这些作品由多个作品组成。

你可以像这样获取不同的流:

s = converter.parse('./data/Benedictus_23.krn')
try:
numscores = len(s.scores)
except:
numscores = 0
#for each opus
if numscores > 0:
for score in range(0,numscores):
sys.stdout.write('\n -> opus ' + str(score))
t = s.scores[score]
print len(t.parts)

关于python - 使用 music21(python)从内核乐谱中获取零件 - 为什么找不到零件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252319/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com