CUTR-at-USF / MUSER

App used in USF research on music therapy. Based on Shuttle Music Player (https://github.com/timusus/Shuttle).
Other
2 stars 1 forks source link

How to uniquely identify a song? #4

Closed barbeau closed 4 years ago

barbeau commented 4 years ago

Is your feature request related to a problem? Please describe.

To be able to cross-reference plays of specific songs across devices, ideally we'd be able to use a globally unique identifier for the song (as opposed to trying to match artist, album, and song name, which might appear differently in different catalogs). This would allow us to log just the unique ID locally in a database, without having to store the rest of the song properties.

Some questions we need to resolve:

  1. Is there a well-accepted global unique ID for songs?
  2. Is this globally unique ID normally stored in song metadata, so that if someone loaded their own track we could pull the unique ID programmatically off the song?
  3. Is there an on-line database were we can look up a song by unique ID, so that if a user played a random song we could find the artist, album, name, and other details by looking up the ID?

Describe the solution you'd like For (1), some possible options:

barbeau commented 4 years ago

To summarize internal discussions, it seems like ISRC is the most appealing option here, but as mentioned in https://github.com/CUTR-at-USF/MUSER/issues/17 ISRC doesn't appear to be parseable using normal Android tools for metadata, and doesn't appear to be contained in most song metadata. Current decision is to log all the possible metadata and determine how to identify songs on the backend. I'm going to close this for now, and we may re-open to revisit it later.

barbeau commented 3 years ago

More info from https://www.soundexchange.com/service-provider/licensing-101/

• My music library does not have complete ISRC information. Does SoundExchange have any tools that can help me add ISRC information to my music library?

SoundExchange has launched several free tools to help licensees meet the track identification requirements for reports of use set out by the Notice and Record-keeping rule making (37 CFR 370):

  • ISRC Search Site: This tool allows you to search for the ISRC for a specific track and can be accessed at https://isrc.soundexchange.com.
  • SoundExchange Repertoire Matching Service: This tool allows licensees to obtain ISRCs in bulk. Within Licensee Direct, you can submit catalog files and receive them back with ISRCs as matched against our repertoire database, using data provided by the rights owners themselves. You will be able to automate ingestion of that information as your systems allow.
  • SoundExchange Repertoire Search API: Developers can incorporate this tool within software and applications already in use by licensees and third-party reporting vendors, allowing “real time” selection of recordings with their ISRCs as needed by DJs and other music programming users. Please contact repmatchservice@soundexchange.com to request use of the API.

Please contact repmatchservice@soundexchange.com for more information about these tools.