echonest

Echonest track profile requests always return an empty audio_summary


I'm requesting bucket=audio_summary for songs that rank highly in hotttness. The top 100 hotttessst songs all return track.status: 'complete' but the audio summary is always an empty object.

How do I get audio summary data like time_signature and tempo? Doesn't track.status: complete imply that this information should be included in the response?

Can't Feel My Face 
https://developer.echonest.com/api/v4/track/profile?api_key=*****************&format=json&id=SOMVZDS14DDE5909E7&bucket=audio_summary

  {
    "response": {
      "status": {
        "version": "4.2",
        "code": 0,
        "message": "Success"
      },
      "track": {
        "status": "complete",
        "id": "SOZOIDR14C02B654D4",
        "audio_summary": {}
      }
    }
  }

Solution

  • It looks like you have the SongId rather than the TrackId for this song. If you replace 'track' with 'song' in your query you get the expected results.

    This: https://developer.echonest.com/api/v4/song/profile?api_key=*****************&format=json&id=SOMVZDS14DDE5909E7&bucket=audio_summary

    Returns this:

    {  
       "response":{  
          "status":{  
             "version":"4.2",
             "code":0,
             "message":"Success"
          },
          "songs":[  
             {  
                "artist_id":"ARYUDWF12F2B89BB33",
                "artist_name":"The Weeknd",
                "id":"SOMVZDS14DDE5909E7",
                "audio_summary":{  
                   "key":9,
                   "analysis_url":"http://echonest-analysis.s3.amazonaws.com/TR/A7NwGAWSmhnc53M8w1rLk-eA_tsN8OUHaqV5C5FTbb9BnCPZVnxWOGld1wLxJJ-xdNV8xKJbbZlCRSKJc%3D/3/full.json?AWSAccessKeyId=AKIAJRDFEY23UEVW42BQ&Expires=1454028841&Signature=HeUxbEJt4f0ncipjD1Gamtuj08E%3D",
                   "energy":0.781735,
                   "liveness":0.12022,
                   "tempo":107.954,
                   "speechiness":0.042317,
                   "acousticness":0.124391,
                   "instrumentalness":0.0,
                   "mode":0,
                   "time_signature":4,
                   "duration":216.46667,
                   "loudness":-5.528,
                   "audio_md5":"",
                   "valence":0.586261,
                   "danceability":0.713659
                },
                "title":"Can't Feel My Face"
             }
          ]
       }
    }
    

    The only reason I was able to track this down was that throwing any ID into the track API give back the stub response you were seeing and I was able to get the audio_summary for this song using the spotify id so I knew it was available.