我在PC(Win 8.1)上将pyechonest(v9.0.0)与Python(v2.7.9)结合使用,并且在解释有关“键”和“模式”属性的返回数据时遇到了问题。 “琴键”应该返回Echonest认为要录制的音轨所用的音乐琴键,“模式”将确定它是主琴键还是副琴键。但是,在使用Track方法时,有一些矛盾的方法来解释这一点。

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

但是Echonest文档与此矛盾。 key == 0是“ C”,key == 11是“ B”(根据pyechonest文档不是B平),并且mode == 0是次要的,其中mode == 1是主要的(0/1主要/次要关系是切换):
http://developer.echonest.com/docs/v4/song.html

有谁知道哪一个是真正的解释?我想出解决办法的唯一方法是上传一个我知道其键和模式的音乐样本,然后查看Echonest返回的内容。

最佳答案

显然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,我不能不讲清楚哪个是正确的来源。我建议您在pyechonest's GitHub repo上提出一个问题,要求开发人员进行审查和澄清,但是基于其他错误,我倾向于首先信任API文档!

关于python - pyechonest-如何解释“键”和“模式”属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32202589/

10-11 06:18