Roy van Rijn is a Java developer who writes about Java tooling, GraalVM, and side projects like a Shazam clone.
HN commenters link his Shazam-in-Java post and his account of receiving a patent threat for a weekend project, with some critical of Shazam.
A more interesting story is behind the blog post linked in the article to someone else's implementation (which I also think contains a bit more detail than this one):
[0] https://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/
[1] https://www.royvanrijn.com/blog/2010/06/music-matching-part-deux/
Turns out he was contacted and threatened by some patent lawyers from Shazam for writing the above blog posts:
[2] https://www.royvanrijn.com/blog/2010/07/patent-infringement/
[3] https://www.royvanrijn.com/blog/2010/07/patent-publicity/
[4] https://www.royvanrijn.com/blog/2010/11/patent-infrigement-part-2/
And of course, the original HN post:
[5] https://news.ycombinator.com/item?id=1496683
It seems he eventually just told them to go pound sound (!!). Good for him!
I believe Shazam is very much an acquisition for its patent and algorithm sauce. The technology behind it is relatively simple based on audio fingerprinting
http://royvanrijn.com/blog/2010/06/creating-shazam-in-java/
It was either Google Music, Spotify or Apple Music that would have acquired it.
I’m a 100% sure this will end up as a deep integration with Siri and the existing Apple Music app.
Apple has always done well with its acquisitions. Buy small companies that do one small thing and do it extremely well, and fuse that with the Apple ecosystem, quality and rigor.
Congrats to the Shazam team for going with Apple. Google would have most definitely messed it up like they did with Songza. I will never forgive them for that.
If you want to get tricky, you could build a mobile app that can tell what netflix show you're watching based on audio data ala Shazam.
Maybe you could talk to these guys who have done exactly that for figuring out viewership numbers (maybe they'll want to share the tech): http://www.wired.com/2016/01/meet-symphony-the-company-that-tracks-netflixs-elusive-ratings/
Or maybe see if you can use http://echoprint.me/ or build your own http://royvanrijn.com/blog/2010/06/creating-shazam-in-java/
[EDIT]: Or maybe a wearable app, so that you don't have to have your phone out? It could potentially warn you about TV/movies too just by vibrating.
Yes. Shazam has a bunch of patents and has sued people before:
https://en.wikipedia.org/wiki/Shazam_(service)#Patent_infringement_lawsuit
The core algorithm is well known and fun to implement:
https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
A blog had a simple implementation of it and were contacted by Shazam's lawyers:
http://royvanrijn.com/blog/2010/07/patent-infringement/
Part 2: https://www.royvanrijn.com/blog/2010/11/patent-infrigement-part-2/ TL;DR:
> I’m sorry, but I can’t comply.
> Good luck.
The follow up around 2016: https://twitter.com/royvanrijn/status/788436253532426241
> Nothing happened, never heard from them again...
I couldn't find the code anywhere on his Github profile, so not sure if he actually took the step to publish the code.
See "An Industrial-Strength Audio Search Algorithm"[1], a 2010 paper written by one of the Shazam developers. The analysis itself doesn't seem complicated[2] but having a large enough database to compare against is probably the hard part.
[1]: http://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
[2]: http://www.royvanrijn.com/blog/2010/06/creating-shazam-in-java/