I want to build something similar to Tunatic or Midomi (try them out if you're not sure what they do) and I'm wondering what algorithms I'd have to use; The idea I have about the workings of such applications is something like this:
- have a big database with several songs
- for each song in 1. reduce quality / bit-rate (to 64kbps for instance) and calculate the sound "hash"
- have the sound / excerpt of the music you want to identify
- for the song in 3. reduce quality / bit-rate (again to 64kbps) and calculate sound "hash"
- if 4. sound hash is in any of the 2. sound hashes return the matched music
I though of reducing the quality / bit-rate due to the environment noises and encoding differences.
Am I in the right track here? Can anyone provide me any specific documentation or examples? Midori seems to even recognize hum's, that's pretty awesomely impressive! How do they do that?
Do sound hashes exist or is it something I just made up? If they do, how can I calculate them? And more importantly, how can I check if child-hash is in father-hash?
How would I go about building a similar system with Python (maybe a built-in module) or PHP?
Some examples (preferably in Python or PHP) will be greatly appreciated. Thanks in advance!
 
     
     
     
     
     
     
     
     
     
    