Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing information on Spotify Developer "Audio Analysis for a Track"

On Spotify Developer there is a description of the JSON format that is returned on "Get Audio Analysis for a Track". However, there is no information on "track.codestring", "track.echoprintstring" and "track.rhythmstring". Anyone who knows the definition of the information that is hidden in these long strings?

I'm currently embarking on machine/deep learning applied for Music Information Retrieval.

There seems to be no way to directly adress this question on developer.spotify. So I roamed the web but couldn't find an answer.

This is in the JSON-example on 'https://developer.spotify.com/documentation/web-api/reference/tracks/get-audio-analysis/'

"codestring": "eJxVnAmS5DgOBL-ST-B9_P9j4x7M6qoxW9tpsZQSCeI...",
"code_version": 3.15,

"echoprintstring": "eJzlvQmSHDmStHslxw4cB-v9j_A-tahhVKV0IH9...",
"echoprint_version": 4.12,

"synchstring": "eJx1mIlx7ToORFNRCCK455_YoE9Dtt-vmrKsK3EBsTY...",
"synch_version": 1,

"rhythmstring": "eJyNXAmOLT2r28pZQuZh_xv7g21Iqu_3pCd160xV...",
"rhythm_version": 1
like image 663
ferengel Avatar asked May 18 '19 10:05

ferengel


2 Answers

This document for EchoNest seems to be describing the same properties as the Spotify API returns. (For an older version unfortunately)

Analyzer Documentation

I also recommend checking out kaleidosync a visualisation app based on Spotify/EchoNest.

kaleidosync demo
source on github

like image 154
Simon Márton Avatar answered Oct 24 '22 19:10

Simon Márton


I'm super late to the party here, but I'll share my findings in case they help someone else. The below is from what looks like an archived version of the original Echo Nest Analyzer Documentation (v3.2). I've extracted a bit of it below and have provided a link to where I was able to browse the document.

Output Data

track data

  • codestring, echoprintstring: these represent two different audio fingerprints computed on the audio and are used by other Echo Nest services for song identification.
  • synchstring: a synchronization code that allows a client player to synchronize the analysis data to the audio waveform with sample accuracy, regardless of its decoder type or version. See Synchstring section*.
  • rhythmstring: a representation of spectro-temporal transients as binary events. This temporal data distributed on 8 frequency channels aims to be independent of timbre and pitch representations. See Rhythmstring section*.

*Echonest API Docs

Synchstring, Rhythmstring

Synchdata decoding - Github

like image 40
Burr Avatar answered Oct 24 '22 19:10

Burr