endthestart / tinsparrow

MIT License
1 stars 0 forks source link

Need to develop algorithm for matching songs #8

Open endthestart opened 9 years ago

endthestart commented 9 years ago

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.

endthestart commented 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.