Forums » Bugs & Problems Search

Catalog resolution problems New Reply

Author Post
Posts: 2
Registered: Sep 11, 2011

Hey there. I've been integrating Echonest's API into my application in order to scan a user's music library and enhance the information available for selecting songs, but so far i'm finding that the matching is not working quite as I expected and I'd like to know how to improve the matches without needing to use further API calls if possible. I've also collected some of the other API bugs I've come across with the report.

I'm using the catalog api with the following user story:


User calls create catalog to begin a new catalog:

result: ok

other bugs (seems to occur in all catalog requests): service sometimes returns an Nginx 502 error, which breaks XML parsing.


User then sends qualifying songs using the update api in the following formats:

  • if the song name is from a user ripped cd in winamp from 1999 (sorry, the json may not be perfect in my copy pastes):

case: artist_name: underworld; release: Beaucoup Fish; song_name: Underworld - Beaucoup Fish - Bruce Lee - Track 07; Track #: 7

send: {"action":"update","item":{"item_id":"db15165db5625965e8d5e56f27673cc6ad9b0718","artist_name":"Underworld", "release":"Beaucoup Fish", "track_number":7}}

expected result: finds the track information

result after testing: can't resolve item no matter what other info is sent

other bugs: if you send a blank field or whitespace " ", "rn" for the song_name, the update will never finish.


  • if the song is from iTunes and is Well formatted for a word for word match but is missing track numbers:

case: artist_name: Radiohead; release: The King Of Limbs; song_name: Feral

send: {"action":"update","item":{"item_id":"db15165db5625965e8d5e56f27673cc6ad9b0719","artist_name":"Radiohead", "release":"The King of Limbs", "song_name":"Feral"}}

expected result: Should resolve most songs on a given album

result: resolves only a fraction of songs per album - this might just be an issue with a limited song catalog and more obscure albums


  • If the Song has all fields then send everything with the request

case: artist_name: Radiohead; release: The King Of Limbs; song_name: Feral; track_number: 4

send: {"action":"update","item":{"item_id":"db15165db5625965e8d5e56f27673cc6ad9b0719","artist_name":"Radiohead", "release":"The King of Limbs", "song_name":"Feral", "track_number": 4}}

expected result: an even better match than a song with no track information

result: sometimes adding a track number lowers the matching quality


User then gets a ticket and calls status at 5 second intervals to see if the service has finished resolving the content.

result:ok


User then uses the read command to download an XML formatted response from the service. The user may add the following buckets: song_hotttnesss, audio_summary and artist_hotttnesss.

expected result: the response contains a matching entry for every song request sent whether any metadata is available or not

result: XML feed is sometimes missing request information including item_ids making it hard to update the state of my app. Strangely enough, a completely unresolved request will have all of the request data.


If a User no longer uses a given catalog, a delete command can be used to remove the catalog

result: ok


The process seems quite smooth with only occasional service hiccups, but I'd like to see better name resolution where track numbers are presented and resolution if a song name is not entered. For users with large libaries, it might be difficult to do one off resolution requests. I was hoping that the catalog service would be the best to use for the above user stories. Let me know if I need to retool my side at all. Please let me know if you need more comprehensive json requests and XML responses and I will follow up with some gists.

Thanks for your help,

-Rich (streeme.com)

Posts: 32
Registered: Sep 08, 2009

Hi chaffneue,

Thanks for the detailed report. We'll take a look at it.

Tyler

Posts: 2
Registered: Sep 11, 2011

Did you guys find a resolution to the issues above? I haven't heard back for over a month and I'm still keen to release Echonest integration with my project. Again, let me know if you need any help/tests/validation from my side.

-Rich

Reply to this Thread

You must log in to post a reply.