I am using the GNSDK example called musicid_stream.

The c program returns the album names.

May I ask how can I get the track instead of the album?


Thank you!

Hello, I tried to change gnsdk_musicid_query_find_albums() to gnsdk_musicid_query_find_tracks(),the I got the error msg: 

error 0x9080000b - Unsupported functionality line 720, info gnsdk_manager_gdo_child_count(GNSDK_GDO_CHILD_ALBUM)

I further changed GNSDK_GDO_CHILD_ALBUM to GNSDK_GDO_CHILD_TRACK in gnsdk_manager_gdo_child_count() but got another error msg: 

error 0x9080000b - Unsupported functionality line 560, info gnsdk_manager_gdo_child_count() error 0x9080000b - Unsupported functionality line 765, info gnsdk_manager_gdo_child_get(GNSDK_GDO_CHILD_ALBUM)

I just want to print the track name out. Hope somebody can help me. Thanks!

Hello,The gnsdk_musicid_query_find_tracks() API is currently limited to certain inputs (eg: text) and doesn't yet return results for MID-Stream inputs (ie: audio fingerprints). Thus you should use gnsdk_musicid_query_find_albums().To retrieve the matching track from an album results, see the code below:

error = gnsdk_musicid_query_find_albums(musicid_handle, &result_gdo);
if (GNSDK_SUCCESS == error)
gnsdk_gdo_handle_t album_gdo;
error = gnsdk_manager_gdo_child_get(result_gdo, GNSDK_GDO_CHILD_ALBUM, 1, &album_gdo);
if (!error)
gnsdk_gdo_handle_t track_gdo;
error = gnsdk_manager_gdo_child_get(album_gdo, GNSDK_GDO_CHILD_TRACK_MATCHED, 1, &track_gdo);
if (!error)
/* retrieve track values here */



The key is to use the 'GNSDK_GDO_CHILD_TRACK_MATCHED' value to retrieve the matching track from the album result.

-Paul Quinn

Hi, I'm working on this right now. I need my app to listen and identify a track (much like MusixMatch or Shazam do), but without any user interaction involved (it will be running as a daemon). The app only needs song title and artist, and I want to discard non-completely-reliable matches to prevent false positives.My first question is: Does gnsdk_musicid_query_find_tracks already support fingerprint inputs? That would definitely make things easier.In case it still doesn't, my problem follows:I assume GN responds with multiple matches and a decission token in two cases (correct me if I'm wrong):a) The song appears in more than one album, so every album in which that song is present will be included in the response GDO.b) The match is not accurate enough to provide a reliable answer, so different possibilities are provided.In order to discard unreliable matches, I was thinking about completely disregard GDOs marked with NEEDS_DECISION. However, that will discard not only unreliable matches, but also matches in which the song has been correctly identified but is present in multiple albums.Any advice?