Skip to content

Playlist API Methods

Tim Case edited this page Aug 4, 2013 · 21 revisions

Echonest#playlis_basic

Returns a basic playlist. A basic playlist is generated once from an initial set of parameters, and returned as an ordered list of songs. Basic playlist functionality is supported, see the static and dynamic playlist APIs for advanced contextual and personalized playlisting.

Some properties of a basic playlist:

  • Songs are never repeated
  • Artists may be repeated

Echonest API documentation

source

fingerprint = "eJxVlIuNwzAMQ1fxCDL133-xo1rnGqNAEcWy_
               ERa2aKeZmW9ustWVYrXrl5bthn_laFkzguNWpk
               lEmoTB74JKYZSPlbJ0sy9fQrsrbEaO9W3bsbaW
               OoK7IhkHFaf_ag2d75oOQSZczbz5CKA7XgTIBI
               XASvFi0A3W8pMUZ7FZTWTVbujCcADlQ_f_WbdR
               NJ2vDUwSF0EZmFvAku_CVy440fgiIvArWZZWoJ
               7GWd-CVTYC5FCFI8GQdECdROE20UQfLoIUmhLC
               7IiByF1gzbAs3tsSKctyC76MPJlHRsZ5qhSQhu
               _CJFcKtW4EMrHSIrpTGLFqsdItj1H9JYHQYN7W
               2nkC6GDPjZTAzL9dx0fS4M1FoROHh9YhLHWdRc
               hQSd_CLTpOHkQQP3xQsA2-sLOUD7CzxU0GmHVd
               Ixh46Oide0NrNEmjghG44Ax_k2AoDHsiV6WsiD
               6OFm8y-0Lyt8haDBBzeMlAnTuuGYIB4WA2lEPA
               WbdeOabgFN6TQMs6ctLA5fHyKMBB0veGrjPfP0
               0IAlWNm9n7hEh5PiYYBGKQDP-x4F0CL8HkhoQn
               RWN997JyEpnHFR7EhLPQMZmgXS68hsHktEVErr
               anvSSR2VwfJhQCnkuwhBUcINNY-xu1pmw3PmBq
               U9-8xu0kiF1ngOa8vwBSSzzNw==".gsub("\n", ' ')

Echonest.song_identify(:code => fingerprint) =>
#<Echonest::Song:0x007ff1b304b508 @attrs={:score=>54, :title=>"Billie Jean", 
#:message=>"OK (match type 5)", :artist_id=>"ARXPPEY1187FB51DF4", 
#:artist_name=>"Michael Jackson", :id=>"SODJXOA1313438FB61"}>

query = '{
  "metadata": {
    "artist": "Michael jackson",
    "release": "800 chansons des annes 80",
    "title": "Billie jean",
    "genre": "",
    "bitrate": 192,
    "sample_rate": 44100,
    "duration": 294,
    "filename": "../billie_jean.mp3",
    "samples_decoded": 220598,
    "given_duration": 20,
    "version": 3.13
  },
  "code": "' + fingerprint + '"}'


Echonest.song_identify(:query => query) =>
#<Echonest::Song:0x007f859b99a818 @attrs={:score=>54, :title=>"Billie Jean", 
#:message=>"OK (match type 5)", :artist_id=>"ARXPPEY1187FB51DF4", 
#:artist_name=>"Michael Jackson", :id=>"SODJXOA1313438FB61"}>

Methods on Echonest::Song

Echonest#song_profile

Get info about songs given a list of ids

Echonest API Documentation

source

Echonest.song_profile(:id=> 'SOCZMFK12AC468668F') => 
#<Echonest::Song:0x007fa8abbaa490 @attrs={:artist_id=>"ARZHQSP12FE086C216", 
:id=>"SOCZMFK12AC468668F", :artist_name=>"Wil-Lean", :title=>"Stay Fly"}>

Methods on Echonest::Song

Echonest#song_search

Search for songs given different query types

Echonest API Documentation

source

Echonest.song_search(:artist => 'Macklemore', :results => 3) =>
[#<Echonest::Song:0x007fc8e0a3f560 @attrs={:artist_id=>"AR2XDHU1187B9B484F", 
:id=>"SOAFRBZ1312A8A5536", :artist_name=>"Macklemore", :title=>"And We Danced (feat. Ziggy Stardust)"}>,
#<Echonest::Song:0x007fc8e0a3f538 @attrs={:artist_id=>"AR2XDHU1187B9B484F", 
:id=>"SOEPGXT1338A5D83A5", :artist_name=>"Macklemore", :title=>"Can't Hold Us (Feat. Ray Dalton)"}>, 
#<Echonest::Song:0x007fc8e0a3f510 @attrs={:artist_id=>"AR2XDHU1187B9B484F", :id=>"SOCRYSC1313438D0DF",
 :artist_name=>"Macklemore", :title=>"The Town"}>]

Echonest.song_search(:key => 2,
                     :mode => 0,
                     :min_energy => 0.35,
                     :max_energy => 0.65,
                     :min_danceability => 0.90,
                     :results => 3,
                     :sort => 'song_hotttnesss-desc') =>
[#<Echonest::Song:0x007fa82ab52c08 @attrs={:artist_id=>"ARHFDOW1187B9A6B6D", 
:id=>"SOIIWOX13CCFBAB235", :artist_name=>"Late Night Alumni", :title=>"Empty Streets"}>, 
#<Echonest::Song:0x007fa82ab52be0 @attrs={:artist_id=>"AR23C041187FB4D534", 
:id=>"SOMTSZB13B366AE759", :artist_name=>"50 Cent", :title=>"Disco Inferno"}>, 
#<Echonest::Song:0x007fa82ab52bb8 @attrs={:artist_id=>"AR8RQVM1187B9A2645", 
:id=>"SOBNGDP12A8C13A26D", :artist_name=>"Fujiya & Miyagi", :title=>"UH"}>]

Echonest.song_search(:artist => 'Macklemore',
                             :bucket => ['audio_summary', 'artist_location'],
                             :results => 1) =>
[#<Echonest::Song:0x007fc8392e1a40 @attrs={:title=>"And We Danced (feat. Ziggy Stardust)",
 :artist_name=>"Macklemore", :audio_summary=>{:key=>2, :analysis_url=>"http://echonest-
analysis.s3.amazonaws.com/TR/0pLbjgoRCq6L4-Nnk5wTpFeG6Ouk1NwWMYcKEP/3/full.json?
AWSAccessKeyId=AKIAJRDFEY23UEVW42BQ&Expires=1375508042&Signature=CjFhM1lnr05rmVhcYdxRPR3Nw5Q%3D",
 :energy=>0.6722788937963255, :liveness=>0.08902066450149933, :tempo=>125.013,
 :speechiness=>0.07387994905866357, :acousticness=>0.07404369808174743, :mode=>0, :time_signature=>4,
 :duration=>246.21333, :loudness=>-7.133, :audio_md5=>"928960fb6130be91984ed5197bf1b6cb", 
:valence=>0.6466419050880391, :danceability=>0.7551415447533787}, :artist_id=>"AR2XDHU1187B9B484F", 
:id=>"SOAFRBZ1312A8A5536", :artist_location=>{:latitude=>47.6036, :location=>"Seattle, WA, US", 
:longitude=>-122.329}}>]

Methods on Echonest::Song

Clone this wiki locally