Lyd*_*Lyd 6 algorithm music-notation
我正在寻找将字符串表示的音符作为输入的算法,并将和弦的名称作为输出.
例如:
chordName("C", "E", "G")
>>> "C major"
chordName("C", "E", "G", "B")
>>> "C major 7"
chordName("A", "C", "E")
>>> "A minor"
Run Code Online (Sandbox Code Playgroud)
我自己的喇叭(即,我是该库的首席开发人员,当然有偏见),但使用 music21 ( http://web.mit.edu/music21/ ),你可以这样做:
>>> from music21 import chord
>>> chord.Chord(['C','E','G']).pitchedCommonName
'C-major triad'
>>> chord.Chord(['C','E','G','B']).pitchedCommonName
'C-major seventh chord'
Run Code Online (Sandbox Code Playgroud)
或者更晦涩难懂的东西...
>>> chord.Chord(['C','C#','D','E','F#']).pitchedCommonName
'D-tritone-expanding pentachord'
Run Code Online (Sandbox Code Playgroud)
Chord 的完整文档(http://web.mit.edu/music21/doc/moduleReference/moduleChord.html)将帮助您弄清楚如何以您想要的格式获得文本输出。