I'm trying out the Song API as a music discovery tool. In particular, I want to find danceable swing music in the 150-180BPM range.
I'm using the following search query:
http://developer.echonest.com/api/v4/song/search?api_key=XXXX&format=json&results=100&max_tempo=180&min_tempo=150&description=swing
The first 3 results are the exact same song. So are the following 5. And all the results belong to Ella Fitzgerald. As much as I love Ella, I'd like to receive random results each time, so I can discover more music. Is that possible?
About the duplicates - we have millions of songs from many, many sources - which leads to lots of duplicates. We are in the process of eliminating/collapsing the duplicates using the Echo Nest Finger printer. You should see the amount of dups drop off over the next month or two. As for using song/search for discovery - we want to keep our search predictable - we think that two calls to search with the same parameters should return the same (or nearly the same) results. We will be rolling out some new playlisting APIs that will be more suited for your task. It will let you apply all the contraints and sorts that you can now with song/search, but will also make sure there are no duplicate songs, give you control over the variety of artists/albums in the playlist, give you different results every time and more. The first playlisting API may be released as early as mid august.
In the interim, you can get some more variety by making artist/search calls to get 'swing' artists and then calling song/search separately for each artist at random. The songs can then be pooled and drawn from at random.
Sounds great. I can't wait for the playlist APIs.
Meanwhile, I'll try out your suggestion, and maybe throw in a random string generator as well. :-)
Michael.
p.s. Reply notifications were marked as spam by my Gmail account. You might want to sort this out with Gmail, or post a warning for gmail users who ask to receive email notifications.