1

我在 PC(Win 8.1)上使用 pyechonest(v9.0.0)和 Python(v2.7.9),并且在解释返回的与“key”和“mode”属性有关的数据时遇到问题。“Key”应该返回 Echonest 认为要录制的音乐曲目的音乐调,“mode”将确定它是大调还是小调。然而,当使用 Track 方法时,有相互矛盾的方式来解释这一点......

在 pyechonest 文档中表示“键”是一个整数 0-11,其中 0 表示 C 的键,11 表示 B 平面的键。“模式”为 0-1,0 表示“主要”,1 表示“次要”: http ://echonest.github.io/pyechonest/track.html

然而 Echonest 的文档与此相矛盾;key==0 是“C”,key==11 是“B”(根据 pyechonest 文档不是 B flat),mode==0 是次要的,mode==1 是主要的(0/1 主要/次要关系是切换):http: //developer.echonest.com/docs/v4/song.html

有谁知道哪个是真正的解释?我能想出的唯一方法是上传一个我知道键和模式的音乐样本,然后看看 Echonest 会返回什么。

4

1 回答 1

1

显然key == 11对应于 B,而不是 Bb,因为否则数字不起作用:

0 1  2 3  4 5 6  7 8  9 10 11
C Db D Eb E F Gb G Ab A Bb B

对于mode,如果不深入了解正确的来源,我就无法判断;我建议您在pyechonestGitHub 存储库上提出问题,要求开发人员审查和澄清,但基于另一个错误,我倾向于首先信任 API 文档!

于 2015-08-25T11:27:30.667 回答