Open endthestart opened 9 years ago
I also found this: https://wiki.musicbrainz.org/Fingerprinting and it appears that musicbrainz has a virtual machine that is a mirror of the musicbrainz database. I'm going to set that up and see if we can use it for identification of our music.
When a client is syncing their library with the server, we should only upload music that doesn't exist on the server. The way that we match this could happen in a few different ways.
1.) If we have artist, album, track number, and song name we can attempt a match server-side. 2.) if we are artist, album, and (song name or track number) we can attempt a match server-side. 3.) if we have artist and song name without album or track number we can make a guess, perhaps first album to feature this song? .... And so on...
After attempting to make quick matches with attributes, we could look at doing audio fingerprints. Something like http://willdrevo.com/fingerprinting-and-audio-recognition-with-python/ would be a good start.
Lastly, we could look at services like musicbrainz, etc... if we can get a common ID for all songs we can match the ID client side and see if the same ID exists server side. This, in a sense, might be the absolute easiest to start with.