My name is Brian Whitman. I am a lapsed scientist and sound artist currently co-founder/CTO at The Echo Nest, a music intelligence company in Somerville, MA. As I work on various scaling and media search problems with detours into art projects I'll be posting details here in the hopes that I can learn from others. I'd always like to hear from you if you are working on similar things.
At Stockholm Hack Day we’re announcing three or four new APIs that are going to stay in our “alpha” sandbox for now. These are officially unsupported but we will work with anyone who has a use case for them. For now, the instructions will stay here until we promote them to production APIs.
For all of these alpha APIs you will need a developer key from The Developer Nest. I will use “YOUR_KEY” as the key in the examples, make sure to replace this or none of the calls will work. We reserve the right to pull or throttle access to alpha APIs at a different rate from the supported ones. Please be warned that these are not production ready, we will be making enhancements and restarting servers, there will be guaranteed downtime. If you are interested in building a product with these new APIs please contact us..
What: returns a rendered mp3 and swf url given an XSPF playlist that is composed of a “megamix” or “jam” of the included tracks in order.
How:
http://developer.echonest.com/api/alpha_capsule?api_key=YOUR_KEY&xspf_url=http://path_to.com/playlist.xspf Returns {'flash_url': 'http://thisismyjam.com/flash/jam.swf?api_PNWUcuxGJ5/1264353117.xml', 'tag': 'api_PNWUcuxGJ5', 'mp3_url': 'http://echonest-capsule.s3.amazonaws.com/api_PNWUcuxGJ5/1264353117.mp3'}
Parameters:
Returns:
Notes:
What: returns the entire analysis for an Echo Nest track ID. (more ID types to come soon.) Saves multiple calls (get_segments, get_tempo, etc etc) and allows you to get the analysis of tracks you did not upload (after finding them with search_tracks.)
How:
http://developer.echonest.com/api/alpha_get_analysis?api_key=YOUR_KEY&trackID=TRMAOUK1254889A145 Returns {"status": "OK", "analysis": {"bars": [{"duration": 0.75963000000000003, "start": 0.37046000000000001, ...
Parameters:
Returns:
Notes:
What: Given a number of possible query types return a list of matching tracks that The Echo Nest maintains. Search on metadata (artist, title), audio data (tempo, duration, loudness, key, mode, etc), cultural data (automatically computed tags, aka “topterms”, familiarity and hotttnesss, collated edited style and genre classifications, etc.) and even location data (latitude / longitude of artist origin.)
How:
Look for a song: http://developer.echonest.com/api/alpha_search_tracks?api_key=YOUR_KEY&title=My%20Sound&artist=Squarepusher Get the loudest romantic song: http://developer.echonest.com/api/alpha_search_tracks?api_key=YOUR_KEY&query=romantic&sort=-loudness&results=1 Get the songs between two tempos: http://developer.echonest.com/api/alpha_search_tracks?api_key= YOUR_KEY&constraint_tempo_min=120&constraint_tempo_max=125&artist=Squarepusher Returns {"status": "ok", "results": [{"trackID": "TRMAOUK1254889A145", "title": "Dream On", "artist": "Aerosmith"}, ...
Parameters:
Returns:
Notes:
What: Returns metadata for a track given Echo Nest Musical Fingerprint hash codes.
Notes: