音乐21分析键总是返回c小调?

2024-05-14 02:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在尝试使用Python模块Music21尝试从一组和弦中获取关键点,但是不管我在其中输入什么,它似乎总是返回c minor。知道我做错了什么吗?你知道吗

我尝试了各种输入字符串,print语句会输出所有正确的和弦名称,但结果键总是c小调!你知道吗

我在Windows上使用python3.7.4和VSCode。你知道吗

string = 'D, Em, F#m, G, A, Bm'

s = stream.Stream()

for c in string.split(','):
    print(harmony.ChordSymbol(c).pitchedCommonName)
    s.append(harmony.ChordSymbol(c))

key = s.analyze('key')

print(key)

Tags: 模块key字符串名称stringwindows语句vscode
1条回答
网友
1楼 · 发布于 2024-05-14 02:57:02

看起来music21 Analyze无法与ChordSymbol一起正常工作。你知道吗

或者,您可以手动设置所有和弦的音符,并对其进行分析。代码:

string = 'D, Em, F#m, G, A, Bm'
 s = stream.Stream()

for d in string.split(','):
    print(harmony.ChordSymbol(d).pitchedCommonName)
    for p in harmony.ChordSymbol(d).pitches:
        n = note.Note()
        n.pitch = p 
        s.append(n)
key = s.analyze('key')
print(key)

按预期返回D主键。你知道吗

相关问题 更多 >