Application of Locality Sensitive Hashing to audio fingerprinting
santhoshhari.github.io
santhoshhari.github.io
The approach here is just getting vector nearest neighbors.
I guess I don’t see how this could work like “Shazam” when you’re comparing the vector of some sample to the vector for the whole song.
So taking n overlapping samples for the song, fingerprinting then vectorizing each. Then doing the same thing for the captured sample and getting nearest neighbors.
I’ve used dejavu for a personal project and it is quite fast. Is the LSH approach somehow more efficient/attractive now because we’ve made strides in vector nearest neighbors search?
It's a known difficult open problem to create a good audio representation (feature vector). Good, in the case of LSH, would be that representation distance correlates well with human perception.
For something like Shazam, you want this representation to be invariant to minor transformations of the audio. That's the interesting problem.
They have a bunch of Colab notebooks where they explore various music IR ideas, including LSH.
GitHub: https://github.com/iranroman/musicinformationretrieval.com/