12 ms·
Shazam is one of the very few apps in the past 20 years that STILL "wows" me. I have no idea how the tech works, and I even sort of like not knowing, to be hone
by bluetidepro 4y ago
Shazam is one of the very few apps in the past 20 years that STILL "wows" me. I have no idea how the tech works, and I even sort of like not knowing, to be honest. It's one of the very few apps out there that still in exist in a "magical" way to me. I am constantly impressed with how fast/easy it works, even with very obscure music. What an amazing app.
Fun quick related story, about 10 or more years ago there was a back tracking song on a TV show (Scrubs) that I really liked that was only in the Netflix version. It was just an instrumental song with some French sounding words speaking in it so there was no easy way to search for it. However, it was distinct enough that it didn't seem like something made just for the show. It was also pretty quiet and under some talking in the tv show scene. I had posted on reddit asking if anyone knew it, and never got any responses. I searched all over the web, but no source had the track details. It drove me crazy every time I would hear the song in re-watching the show, and I still could not track it down every few years when I tried again. Back then, Shazam had no cataloging of it so it wasn't in there either yet. However, when re-watching it a few years back again, I tried Shazam again and to my surprise it finally worked. I was blown away that Shazam was finally able to solve this 10+ year mystery. It was one of the coolest feelings every to scratch that itch finding this rare French song and hearing it in full. It was truly magical.
EDIT: Oh sorry, I didn't think anyone would actually care about the song itself lol It was called "Sans Hésitation" by the French-Canadian band "Chapeaumelon". https://www.youtube.com/watch?v=Ju4d3YQhByU https://www.youtube.com/watch?v=Ju4d3YQhByU - It's also interesting cause now the song does in the episode in tv music database sites. Very cool.
- cooperadymas 4y agoWell?
- adnanaga 4y agoWhat was the song ??
- sexy_panda 4y agoYou will get the result once $commenter is online again
- bluetidepro 4y agoUpdated the post, sorry! haha
- dec0dedab0de 4y agowhich episode? and is it still in there? DVD, streaming, and syndication have some different songs because of rights issues.
- bluetidepro 4y agohttps://scrubs.fandom.com/wiki/My_Ocardial_Infarction https://scrubs.fandom.com/wiki/My_Ocardial_Infarction - In the Netflix version. It does now show the song in there, which is cool. But for like 10 years, it was unknown.
- nemo1618 4y agoYou can't just post a story like that and not link the song! Personally, my main usage of Shazam is for identifying vaporwave samples. Often all you have to do is throw the song in Audacity, tweak the speed a bit, and Shazam it.
- actionfromafar 4y agoThere are entire albums on Spotify which are full songs of 80s pop classics, played at a slower speed, then uploaded as a new album from another artist.
- pdntspa 4y agoInteresting, have any of them been hit with copyright violations? I ask because I like to create bootlegs (basically homebrew remixes, these are substantial re-imaginings of the original track) and would like to put them on Spotify, but am worried about copyright issues and how that might affect posting original music.
- bluetidepro 4y agohaha Sorry, I updated the post. Didn't think anyone would care about that part lol
- neon_electro 4y agoHighly recommend WhoSampled to help you track down samples where possible: 1. https://www.whosampled.com/Washed-Out/Feel-It-All-Around/ https://www.whosampled.com/Washed-Out/Feel-It-All-Around/ 2. https://www.whosampled.com/Macintosh-Plus/%E3%83%AA%E3%82%B5%E3%83%95%E3%83%A9%E3%83%B3%E3%82%AF420-%E7%8F%BE%E4%BB%A3%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC/ https://www.whosampled.com/Macintosh-Plus/%E3%83%AA%E3%82%B5... 3. https://www.whosampled.com/song-tag/Vaporwave/ https://www.whosampled.com/song-tag/Vaporwave/
- goldcd 4y agoI think all (so simple) you have to do is parse all the tracks ever made, and say generate a sequence of snapshots of what the tune sounds like and the delta. e.g. if it was notes (for simplicity) E,D,C,D,E,E,E,D,D,D,E,E,E is the start of "Mary had a little Lamb" Millions of tracks contain the note E. Many hundreds of thousands probably have the note D next - and as you work through the sequence, you're pruning down that list until you who what it is. Bit that makes my mind hurt though, is the data-structure you put those sequences into to make it quickly searchable. Users can start recording at any point in the song - so you can't just prune a tree down from a known starting point. There's going be be background nose - so you need some way of "when you have no choice left", I presume sticking wild-cards into the previous decisions, to see if you end up back on a known track. Yeah - I think it's magic as well. Other thoughts: I used it back in the UK when it launched, and the first track I ever used it on dialling (2580 - the numbers down the middle of your keypad) was also a French track (MC Solaar – La Vie Est Belle) I always felt they missed a trick, just identifying music (and then trying to sell you stuff). Surely they could have used the same tech to seamlessly mix all music together. (i.e. take the sequences within tracks they find hard to differentiate, and then use these points to allow two tracks to be mixed together). What's the minimum number of tracks it would say take to seamlessly mix from Megadeth to Mozart?
- zelos 4y agoThey used to have a paper on their website describing their algorithm in simplified form but I can't find it any more. Wikipedia has some details: https://en.wikipedia.org/wiki/Acoustic_fingerprint https://en.wikipedia.org/wiki/Acoustic_fingerprint I believe it's very sensitive to changes in timing, so it doesn't work on live performances etc. (based on reading I did 13 years ago before an interview at Shazam, which to this day still remains my worst interview performance)
- m-p-3 4y agoI'll also plug AcoustID from MusicBrainz https://musicbrainz.org/doc/AcoustID https://musicbrainz.org/doc/AcoustID
- WalterBright 4y ago> I have no idea how the tech works It does a Fourier analysis of sections of the song, and puts the results in a database. A Fourier analysis yields what frequencies make up a waveform along with their amplitudes, so it is very compact.
- duped 4y agoTaking the DTFT of a signal yields exactly the same amount of information, so it's not really more compact. Shazam used a spectrogram (which is more information than the original signal) and searched for peaks to create a finger print. It's not the analysis that is compact, but the fingerprint derived from it.
- WalterBright 4y agoI know it contains the same information, but it makes it easy to discard the low amplitude frequencies, and the frequencies that are not heard by the ears, or are not particularly important to our ears.
- LudwigNagasena 4y agoYou get a spectrogram by applying Fourier transform. Also, getting more information out of something than it contains is literally impossible.
- muizelaar 4y agoThis paper from the Shazam founder describes an approach for doing it: https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf
- kleiba 4y agofrom the Shazam founder ...who by the way holds a PhD from Stanford...
- BrandoElFollito 4y agoAnd now Chapeaumelon is wondering why the sudden surge of the youtube views. Comments are disabled so we cannot even help them to understand :)
- terramex 4y agoShazam is great but a similar app that really "wowed" me around 2007 was Midomi - it could recognise humming with good results, even though I'm really bad at hitting right notes and key. It still exist but is not really talked about anymore, Shazam seems to have dominated that market.
- robbyking 4y agoThe first time I heard of Shazam was on a road trip with a friend of mine who had minimal tech skills at best. I was already 10 years into my career as an engineer, and when he told me about it, I honestly didn't believe him; I was positive he was mistaken, and speculated it was a service similar to Aardvark[1], which was a peer-to-peer information engine. I was wrong, of course, Shazam really did live up to its hype. I think it's interesting that the someone knows about how a technology works the more sceptical they are of what it is capable of. [1] https://en.wikipedia.org/wiki/Aardvark_(search_engine) https://en.wikipedia.org/wiki/Aardvark_(search_engine)
- oDot 4y agoDon't skip the credits next time :)
- bluetidepro 4y agohaha wasn't in there! Def lookied :)
- deleted 4y ago[deleted]
- Waterluvian 4y agoIt’s all just Fourier analysis I’m guessing? Which I always find to be simultaneously simple and obvious as well as total magic.
- babypuncher 4y agoWhat really wows me is that Shazam started in 2002. It was a phone number you would call on your cell phone and let it listen to your environment. Way back then, it was doing everything you describe, but over low quality band limited telephone lines.
- HeckFeck 4y agoI remember Sony Ericsson handhelds all came with TrackID back in the day (2007/2008) and I used it to name music I heard in public. It was the same idea. I think it charged £1-2 per track!
- swores 4y agoAs an almost teenager at the time, that (Shazam over the phone with an answer texted back - which I used on a Nokia 3310) was the one thing that convinced me we would soon have pocket devices that really could do anything. And while it took a few iterations (for me, from palm pilot to blackberry as a teenager, then eventually moving to iPhone after a few too many painful Blackberry upgrades - still missing that unified inbox though, as is everyone else I know who had a BB of that era... and frankly missing a great physical keyboard on a phone, too) I still am impressed on a daily basis that I do indeed have the device in my pocket that 12 year old me dreamed of.
- vlunkr 4y agoI didn't know it ever worked that way, that's incredible. Reminds me of ChaCha, the texting service where you texted questions and a human would quickly look up the answer and text it back. It's a very cool idea that was quickly outmoded by smart phones and is kind of lost to history now.
- solardev 4y agoFunny enough, even Google used to do that... before smartphones and the Google Assistant, you could text GOOGL (46645, I think) a query and get back a quick answer: https://googleblog.blogspot.com/2004/10/get-411-with-46645.html https://googleblog.blogspot.com/2004/10/get-411-with-46645.h... They eventually shut it down :( https://slate.com/technology/2013/05/google-sms-search-shutdown-angers-people-who-had-forgotten-it-existed.html https://slate.com/technology/2013/05/google-sms-search-shutd...
- turkeygizzard 4y agoDon't want to spoil it for you if you really don't want to know but I want to share to others in case they do because I found it so interesting when I first learned! It looks like others shared the paper: https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf It's short but very cool. I read it a while ago and honestly can't pretend I fully grokked everything, but my understanding was that you can't just use a Fourier transformation alone. Noise would basically make this impossible. So what I'd consider the key insight is that they compressed songs down to "fingerprints". IIRC they noticed that songs, even in noisy environments, preserved certain bits of information. Particularly, they could look at the spectrogram and see peaks of amplitude in the tapestry. They essentially set some radius and scanned the spectrogram. In a given radius, only the largest amplitude value in time and frequency would be preserved. So you've reduce a 3MB song to several bits. This would be good enough for small databases (I think). But it's intractable for anything practical. So they built hashes out of these fingerprints using pairs of the preserved peak bits. They would choose a certain peak (called the anchor point), record its time offset from the start of the song, and then form pairs with other nearby peaks, saving the pairs of frequencies (but discarding e.g their amplitudes). So for each of these anchor points, you would get a 64 bit value: 32 bits for the time offset and track ID and 32 bits of frequency-pairs. When you wanted to look up a song, they would fingerprint your snippet into multiple 32bit hashes and compare them against the frequency-pair hashes in the database. If a song was a good match, then you would see that your snippet matched against multiple hashes from that song, and specifically they matched linearly over time (I'm struggling to explain this bit but it's visually obvious if you look at Figure 3 in the paper). I probably got some of this wrong, but I hope it's a helpful summary of the paper. I remember struggling to understand parts of it, so please let me know if anything I said is egregiously wrong!
- quantumduck 4y agoShazam used to wow me, but then as others mentioned in the replies it's essentially matching the signature of the sound to the sounds in the database. If it's one of the song, it gets matched fairly quickly. Wow blew my mind was when Google introduced 'hum and we'll recognize the song for you' in Google assistant: https://www.google.com/amp/s/blog.google/products/search/hum-to-search/amp/ https://www.google.com/amp/s/blog.google/products/search/hum... It works so well even with my shitty humming - even my girlfriend can't recognize what the song is but Google can. It doesn't even have the same signature as the original audio file, just similar hums in a noisy environment and it still works. Black magic fuckery.
- thehappypm 4y agoWhat is a signature? How is a signature computed from a noisy audio stream, over a mall speaker? How is a signature computed from an arbitrary starting point?
- turbohz 4y agoThe closest to the ideal signature?
- pfarrell 4y agoIIRC, it's uses a Fast Fourier Transform of the time delay between high notes in the song to generate a series of "hashes" that are stored a db. Those ids can be calculated locally on the phone and then its a simple db lookup to retrieve potential hits. When Shazam adds a song to the db, they compute a series of "hashes" so you can identify at any point in the tune.
- synaesthesisx 4y agoWow, that's fascinating! I just ended up down the rabbit hole reading Avery Wang's "An Industrial-Strength Audio Search Algorithm" (linked in this thread) - it's such a cool way of "fingerprinting" pieces of music data.
- caseyf7 4y agoShazam is probably the only Apple watch app I ever use. Very convenient to have this on the watch.
- jasonwatkinspdx 4y agoI don't know about Shazam's current algorithm specifically, but years ago I worked at a place with a mathematician that worked on gracenote's algorithms, and asked him for the basics on how it works. Basically, it records audio chopping it up into small segments and throwing them through a FFT. Then it takes that, and thinking of the data like a greyscale spectrograph image, runs it through a quantization filter that helps reject some noise, then converts that to locality sensitive hashes that are sent to the server. So basically FFT, filter, hash, lookup.
- sdwr 4y agoI had a similar experience looking for a background track in an episode of This American Life. I couldn't remember which episode it was, and none of the lyrics were in English. Pretty sure I went through backwards through the episodes and listened to all the credited songs to find it. The song was 69 Police by David Holmes, which still feels perfect to me. https://www.youtube.com/watch?v=IWissIWxqKk https://www.youtube.com/watch?v=IWissIWxqKk On the topic of background music, tons of original background music copies/imitates famous stuff. Sometimes it's "I wanted the sound of X but couldn't afford it", but there are some in-jokes in there too. Wish I could remember some examples.
- jb3689 4y agoShazam is not particularly complex, however it is a very clever solution and a great example of applying a simple engineering concept broadly. I still hold it as one of the best examples of clever engineering in the app world
- rrrrrrrrrrrryan 4y agoIt actually wasn't an app in the beginning - it was a phone number that you dialed.