After using Shazam, I was kind of hoping there was more to it than just a time windowed frequency domain peak-pick algorithm. The algorithm itself is pretty basic from a signal processing perspective, but I think the key insight here was that the results are unique enough to store off and compare other samples against at some later point in time.
Creating Shazam in Java
41–49 of 49 posts
Re: Creating Shazam in Java
#42After using Shazam, I was kind of hoping there was more to it than just a time windowed frequency domain peak-pick algorithm. The algorithm itself is pretty basic from a signal processing perspective, but I think the key insight here was that the results are unique enough to store off and compare other samples against at some later point in time.
Yeah, the magic (if there is any) is doing the match across a silly amount of songs in a relatively short time. Not groundbreaking exactly, but operationally quite interesting.
Re: Creating Shazam in Java
#43Re: Creating Shazam in Java
#44After using Shazam, I was kind of hoping there was more to it than just a time windowed frequency domain peak-pick algorithm. The algorithm itself is pretty basic from a signal processing perspective, but I think the key insight here was that the results are unique enough to store off and compare other samples against at some later point in time.
Re: Creating Shazam in Java
#45After using Shazam, I was kind of hoping there was more to it than just a time windowed frequency domain peak-pick algorithm. The algorithm itself is pretty basic from a signal processing perspective, but I think the key insight here was that the results are unique enough to store off and compare other samples against at some later point in time.
Are there other uses for this algorithm/technique, when applied to signals other than audio? I mean apart from identifying a source from a small clip.
Re: Creating Shazam in Java
#46Re: Creating Shazam in Java
#47After using Shazam, I was kind of hoping there was more to it than just a time windowed frequency domain peak-pick algorithm. The algorithm itself is pretty basic from a signal processing perspective, but I think the key insight here was that the results are unique enough to store off and compare other samples against at some later point in time.
Are there other uses for this algorithm/technique, when applied to signals other than audio? I mean apart from identifying a source from a small clip.
Re: Creating Shazam in Java
#48Update: I posted a link to some source code that implements the Shazam algorithm: https://news.ycombinator.com/item?id=5724442 About the patent lawsuit thing: As I understand it, Shazam sold their patent to Landmark Digital Services, which are a part of BMI the record label. They kept an exclusive license to make Shazam-like software for phones. You can imagine BMI wanting it to make money from how a service such as…
" you may contribute to someone infringing our patents in any part of the world." Oh really? What a dolt. Patents are, by definition , public. (not before they are accepted, though)
Patents are, by definition, public.
That's actually the telling sign of the dysfunctional patent system. Companies want to use patents to prevent everybody else from doing something similar, and in this case, even from just talking about it (which is obviously ridiculous).Patents used to be a framework for sharing technological progress without giving up ownership, i.e. make it easier for everybody else to build on other's progress - that's long gone.