
How Shazam works - billconan
http://coding-geek.com/how-shazam-works/
======
samplenoise
I did a 'sonification' of what Shazam's reduction of your music would sound
like, some time ago [1]. Perhaps it adds something to the article. You can
actually Shazam it, it still works.

[1] [https://soundcloud.com/sample_noise/shazuffle-ii-shazam-
me](https://soundcloud.com/sample_noise/shazuffle-ii-shazam-me)

~~~
mgachka
I, I’m the author of the article. In fact I also did the same when I did my
prototype of Shazam. When I wrote the article, I hesitated to add a sub
chapter in the Shazam chapter when I would have put a well-known music and its
fingerprinted version so that everyone can hear what it sounds like but I
didn’t do it because I feared copyright lawsuit.

~~~
djrobstep
> I didn’t do it because I feared copyright lawsuit

It's sad that we live in this sort of legal climate.

~~~
grrowl
Would that be covered under fair use, or not because the article wasn't about
_those_ songs themselves (as in, the author could have picked any song, not
necessarily a commercial one?)

~~~
logicallee
This is a _textbook_ example of fair use! A 5-second clip would have sufficed.
it wouldn't have reproduced a large part of the work. it certainly wouldn't
have affected the market for that work. it was for educational or criticism
purposes, etc.

Just see the headings here:

[https://en.wikipedia.org/wiki/Fair_use](https://en.wikipedia.org/wiki/Fair_use)

OTOH I can see why the author would have wanted to steer a million miles of
reproducing ANYTHING (including so much as mentioning the title of any work,
which obviously isn't copyright infringement.)

in this case it's not so much copyright infringement as steering very very
clear of reference to anything.

------
wyc
The detailed diagrams, code samples, and demos are greatly appreciated. I
think it shows that you put a lot of work into this. Thanks!

However, Shazam corporate doesn't seem very nice:

[http://www.royvanrijn.com/blog/2010/07/patent-
infringement/](http://www.royvanrijn.com/blog/2010/07/patent-infringement/)

With such a nice write-up, you probably already know this. :/

~~~
mgachka
I, I’m the author of the article and I already know that. The big difference
between Roy van Rijn and I is that I only put algorithms whereas he put “ready
to use” java code. On paper I should be bulletproof to any lawsuit since this
article is nothing more than a very detailed version of the confounder Shazam
paper (+some unexplained algorithms).

------
bsder
Nice article, but please do be careful in your descriptions of sampling and
digitization. They are not quite right.

The video here from Monty Montgomery of xiph.org does a nice job of explaining
things without in a way that reduces the confusion.

[https://www.youtube.com/watch?v=cIQ9IXSUzuM](https://www.youtube.com/watch?v=cIQ9IXSUzuM)

~~~
Sammi
Yeah this article got me confused because I had Monty in my head telling me
different things then what I read here.

------
susi22
The keyword here is "Music Information Retrieval". If you're interested in
knowing more there is a few high quality tutorials out there. Don't be afraid
of "research looking" papers. They're often pretty accessible. For instance:

[http://www.cs.uu.nl/groups/AA/multimedia/publications/pdf/is...](http://www.cs.uu.nl/groups/AA/multimedia/publications/pdf/ismir05.pdf)
(A SURVEY OF MUSIC INFORMATION RETRIEVAL SYSTEMS)

Or a longer PDF:

[http://www.nowpublishers.com/article/Download/INR-002](http://www.nowpublishers.com/article/Download/INR-002)

~~~
stevetjoa
Forgive the comment hijack, but for those interested in the basics of music
information retrieval (MIR), I started to compile some notes on MIR as IPython
notebooks here:
[http://musicinformationretrieval.com](http://musicinformationretrieval.com)

It's clearly incomplete, but perhaps it might help someone. Pull requests are
welcome.

------
anonu
I think this has been discussed a few times on HN. Here are some links. I know
I'm missing 1 or 2 more:

[https://news.ycombinator.com/item?id=1702975](https://news.ycombinator.com/item?id=1702975)
[https://news.ycombinator.com/item?id=909263](https://news.ycombinator.com/item?id=909263)

To a lesser extent:
[https://news.ycombinator.com/item?id=6683866](https://news.ycombinator.com/item?id=6683866)

------
squidbot
I really liked the way you put the article together, starting with the literal
basics and working your way towards the solution. It's really inspiring to me,
I tend to write articles that assume a lot of knowledge or gloss over the
details of any basic research I've done, but seeing your article wants me to
write up something similar for other concepts. Thank you!

------
amelius
Nice article. I really wished every scientific paper would have such a nice
explanation. (I still don't understand why e.g. Google scholar doesn't allow
people to add their interpretation and questions and remarks etc. to any
paper.)

------
lukaslalinsky
Not as detailed article, but if you are interested in this kind of things,
here is how the audio fingerprinting algorithm used on AcoustID works:

[https://oxygene.sk/2011/01/how-does-chromaprint-
work/](https://oxygene.sk/2011/01/how-does-chromaprint-work/)

------
pistle
This is a pretty comprehensive article hitting all the important points,
providing decent depth, without turning into the monster that DSP can be as
you plunge a bit deeper into each thing like hamming windows or fourier
algorithm implementation. Kudos.

~~~
jessepython
Agreed that signal processing can be a big topic. I thought it was well done
to hit on the Nyqvist frequency to show why certain frequencies are used for
sampling. Acoustics and audio processing are pretty good applications of some
of this theory.

------
gesman
Mind boggling!

Also - how does Shazam makes money?

~~~
avita1
There was an article on here a few months ago that talked about Shazam's
ability to predict hits months in advance.

[http://www.theatlantic.com/magazine/archive/2014/12/the-
shaz...](http://www.theatlantic.com/magazine/archive/2014/12/the-shazam-
effect/382237/)

~~~
mistermann
Exactly the article I was thinking of, and if you think of the way music is
produced today, that's probably pretty useful and valuable data.

------
amikhailov
Does Siri use Wolfram|Alpha for any kind of complex requests?

~~~
nhf
Yes, for a lot of stuff, especially for unit conversions and things like that.

------
sathishvj
Most of the libraries seem small and compact. Is there already one written in
golang?

------
message
[https://pbs.twimg.com/media/BG4D5oOCUAEREoN.jpg](https://pbs.twimg.com/media/BG4D5oOCUAEREoN.jpg)

------
sciencesama
The github links for this are missing though

------
sebastianavina
I really like this kind of articles

------
cbd1984
Interesting how something can explain how something works without giving a
hint as to what it does.

