2015-08-25 1 views
1

J'utilise pyechonest (v9.0.0) avec Python (v2.7.9) sur PC (Win 8.1) et j'ai des problèmes avec l'interprétation des données retournées par rapport aux attributs "clé" et "mode". "Key" est censé renvoyer quelle touche musicale l'Echonest croit qu'une piste musicale doit être enregistrée et "mode" déterminera s'il s'agit d'une touche majeure ou mineure. Cependant, il existe des façons contradictoires d'interpréter cela lorsque vous utilisez la méthode Track ...pyechonest - comment interpréter les attributs "clé" et "mode"?

Dans la documentation pyechonest indique la "clé" est un entier 0-11 avec 0 représentant la clé de C et 11 la clé de B flat. "Mode" est 0-1 avec 0 indiquant "majeur" et 1 indiquant "mineur": http://echonest.github.io/pyechonest/track.html

Cependant la documentation d'Echonest contredit ceci; key == 0 est "C" et la clef == 11 est "B" (pas B comme pour les docs pyechonest) et le mode == 0 est mineur avec le mode == 1 étant majeur (la relation majeure/mineure 0/1 est commuté): http://developer.echonest.com/docs/v4/song.html

Est-ce que quelqu'un sait quelle est la véritable interprétation? La seule façon que je peux trouver pour le comprendre est de télécharger un échantillon de musique dont je connais la clé et le mode et de voir ce que le retour Echonest.

Répondre

1

Il est clair que key == 11 correspond à B, non Bb, parce que sinon les chiffres ne fonctionnent pas:

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

Pour le mode, je ne peux pas dire sans plonger dans la source qui est correcte; Je vous suggère de soulever un problème sur pyechonest's GitHub repo demandant aux développeurs d'examiner et de clarifier, mais en fonction de l'autre erreur, je serais enclin à faire confiance aux docs de l'API en premier!

+0

Merci! Nous sommes descendus le "vérifier les résultats pour les pistes où nous pouvons identifier la clé" et il * regarde * comme les documents API d'origine donnent le résultat le plus proche de ce que nous attendions - http://developer.echonest.com/docs/v4 /song.html Voilà ... 'key' - (selon la réponse de @ jonrsharpe ci-dessus) '0 1 2 3 4 5 6 7 8 9 10 11 C Db Eb D EF G Gb Ab A Bb B ' ' mode' - '0 == mineur, 1 == majeur' – James

+0

J'ai ouvert un problème sur le rapport en conséquence: https://github.com/echonest/pyechonest/issues/39 – jonrsharpe