Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. I Built Non-Autoregressive Decision Models with RL a Year Ago(convaiinnovations.com ↗)
    153comments
  2. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    507comments
  3. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    188comments
  4. A graphical desktop for the ZX Spectrum(github.com/mindbox77 ↗)
    75comments
  5. Tin: full-text search for Postgres(planetscale.com ↗)
    49comments
  6. “The Secret Life of Circuits” is here(coredump.cx ↗)
    57comments
  7. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    564comments
  8. Supabase (YC S20) Is Hiring for OrioleDB(supabase.link ↗)
    discuss
  9. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    17comments
  10. Asking Authors About Their Own Papers(medium.com/tmlrorg ↗)
    45comments
  11. New evidence for hidden chambers beyond Tutankhamun's tomb(nature.com ↗)
    10comments
  12. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    138comments
  13. San Francisco Onion Futures Company(onionfutures.com ↗)
    123comments
  14. What Zig felt like, coming from Rust(besok.github.io ↗)
    123comments
  15. Almost Never Use AI to Write Anything Substantive(erichgrunewald.substack.com ↗)
    11comments
  16. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    199comments
  17. Cloudflare Quick Tunnels(cloudflare.com ↗)
    301comments
  18. How to Write with an LLM(sockpuppet.org ↗)
    362comments
  19. Adventures in Microcontroller Circuit Debugging(bigmessowires.com ↗)
    1comments
  20. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    27comments
  21. Communication by means of modulated Johnson noise(pnas.org ↗)
    20comments
  22. Saving another 100TB of RAM(cloudflare.com ↗)
    93comments
  23. SDCC – Small Device C Compiler(sourceforge.net ↗)
    25comments
  24. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    15comments
  25. Science Is Open Software(jepedersen.dk ↗)
    51comments
  26. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    49comments
  27. OpenJev(openjev.com ↗)
    281comments
  28. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    126comments
  29. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    9comments
  30. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    123comments

How Shazam works

446 pointsby 11y agocoding-geek.com
48 comments
11y agoHN ↗

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).

11y agoHN ↗

It's really unpleasant how they do not list the patents they think have been infringed. They just make a vague claim for everything, and realise that most people don't have the time, energy, nor money to challenge these broad claims in court and so most people just back down.

11y agoHN ↗

Mind boggling!

Also - how does Shazam makes money?

11y agoHN ↗

From its product - which is the users, who else?

11y agoHN ↗

As far as I know, Siri uses Shazam to find music. Example from my life: "Siri, what song is it playing now?" "It's xxx". Then I got home, opened iTunes, found that song in my latest searches and bought that album. So clearly that's a moneymaker for iTunes, artist and they'll pay for that.

May be Shazam has direct relations with major music brands who'll pay for each successful search.

11y agoHN ↗

These algorithms are trivial to implement for big companies. Google (in YouTube) and Microsoft (in Cortana) have similar things, it's likely Apple uses a custom-made version as well.

To answer the previous question, I'd assume part of their revenue comes from big music labels: knowing what songs are about to go big (before anybody else realizes it), from where their popularity originates, and lot more, is invaluable for them.

11y agoHN ↗

Have you ever noticed that the app has links where you can purchase the song that it found for you?

11y agoHN ↗

There is a premium version of the app and they also have partnerships.

11y agoHN ↗

Think about the value of the data: they can predict trends long, long before anyone else can. After all, using Shazam almost equates to a "like". The music industry can figure out who likes what in practically realtime.

11y agoHN ↗

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.

11y agoHN ↗

They seem to have a value add thing for TV adverts, I notice it a lot when I'm at my mum's and the TV is on. You see a pulsing shazam logo and presumably you shazam the advert and they redirect you to something from the advertiser. I assume they get paid there, maybe pretty well if they're really adding to the value of expensive TV ads.

11y agoHN ↗

It also works with SoundHound. Thanks for that, I didn't expect that song, that really made me laugh.

11y agoHN ↗

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.

11y agoHN ↗

I have wanted to know how Shazam works for a long time. Thanks for this article man!

11y agoHN ↗

Thought they used Parsons Code as it is space efficient as a fingerprinting technique and less across the wire too for a partial fingerprint and it handles tempo drift. In addition I know they where becoming CPU bound and then moved to GPU to do matching, that greatly helped them.

11y agoHN ↗

When I started this side project in 2012, I looked for publicly reliable information (especially thesis or research papers) and the only useful information I found was Shazam confounder’s paper.

Since this paper was written in 2003, I wouldn't be surprised if they have changed their algorithms since this time.

But from my understanding, the 2003 paper describes a highly scalable architecture and a noise tolerant and "time efficient" algorithm (that can be modified using thresholds) so it could still work in 2015 with a few optimizations. Still, I'm not working at Shazam and I'm not a researcher so I could be wrong.

11y agoHN ↗

Can we have the program to do that transformation, so we can run it for ourselves?

11y agoHN ↗

I didn’t do it because I feared copyright lawsuit

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

11y agoHN ↗

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?)

11y agoHN ↗

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

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.

11y agoHN ↗

Fair use would seem to apply under most interpretations regardless (excerpts and quotations for the purposes of illustration are generally held to be covered), but you really can't say that for sure until the courts decide. There's nothing you can do to keep a rights holder from dragging you through court.

11y agoHN ↗

Never Gonna give You Up -- did I guess right?

11y agoHN ↗

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

11y agoHN ↗

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!

11y agoHN ↗

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

11y agoHN ↗

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

11y agoHN ↗

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

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

11y agoHN ↗

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

11y agoHN ↗

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

11y agoHN ↗

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.

11y agoHN ↗

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.

11y agoHN ↗

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.)

11y agoHN ↗

The github links for this are missing though

11y agoHN ↗

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