Usage:
Live ID identifies live versions of songs by a particular artist. The algorithm searches a database of songs by the artist and uses fuzzy matching to match the live input to a recorded song. Currently, there is a limited list of artists. Therefore, use of the match API requires first getting a list of the available artists. 
 
Get Artist List:
add on URL: "api/v2/liveid/artists/"
Request type: GET
 
Response is a JSON string. The “artists” key in the string returns an array of artist names. NOTE: One of these names must be passed back with an audio file in the match. 
 
Curl Example:
curl -L http://live-id-hack.elasticbeanstalk.com/api/v2/liveid/artists
 
Response:
{
     "artists": [
          “First Artist",
          “Second Artist"
     ]
}
 
Perform Match:
add on URL: "api/v2/liveid/match/"
Request type: POST with Form data
Form data:
1) File URL: /Path/to/file.wav
     name: “audio_file"
2) String data: “Artist Name"
     name: “artist_name"
 
NOTES:
  • The wave file should be 6-9 seconds long.
  • The algorithm works best with full bass information. Therefore, if using the web interface to record, playing through computer speakers may not produce the best results. 
 
Response is a JSON string with success, time to search (in seconds) and list of matches. Matches are listed with highest score first. The score is a percent confidence. 
 
Curl Example:
curl -F 'audio_file=@“live_song.wav"' -F ‘artist_name=Second Artist' http://live-id-hack.elasticbeanstalk.com/api/v2/liveid/match/
 
Response:
{
     "msg": "SUCCESS",
     "time_to_process": 2.3850131034851074,
     "matches": [
          {
               "song_name": “Best Song",
               "match_score": "1.000000"
          },
          {
               "song_name": “Next Best Song",
               "match_score": "0.612903"
          }
     ],
     "artist_name": “Second Artist"
     }
}
 
Or, if no match:
{
     "msg": "Sorry folks, no match!",
     "time_to_process": 2.351752996444702,
     "matches": [],
     "artist_name": “Second Artist"
}