News:

FOR INFORMATION ON DONATIONS, AND HOW TO OBTAIN ACCESS TO THE GAME, PLEASE VIEW THE FOLLOWING TOPIC: http://stick-online.com/boards/index.php?topic=2.0

Main Menu

Track-ID music recognition technology?

Started by krele, March 26, 2011, 03:08:28 PM

Previous topic - Next topic

krele

Hey guys.

Yesterday at the bar, few school friends and I were wondering what was the music title that was playing as we were playing some 'belot' (a traditional card game), so my friend used track-id from his mobile phone to find out. Don't call me outdated, I've known about track-id ages ago, but I remember being interested in how it works back when it was released.

So how it works? Tried googling, to no avail, so I thought maybe somebody from SO could explain how this magic works!

Case:
- You only need to record 5 seconds of the song, any part you wish.
- It even tracks remixes, even if the sample was pretty much the same as the original! (Hope somebody can explain this)
- Can be recorded in noisy place, as long as the song can be heard in the background!
- The result is received in mere 5 seconds. Remember there are millions of songs, comparing every 5 seconds of every song in the world to a recorded sample is pretty much impossible in 5 seconds!


Kiegruen

I'm really not sure how it works. o.o I've always wondered as well, I mean it just seems so illogical that it could do that big of a task in such a small amount of time...



~~~~~~~~~~~~Kie~~~~~~~~~~~~
AKA That One Bro

Dragx_Rage

#2
I don't actually know, but I am guessing the notes in the song is like a barcode, and this barcode is compared to the songs and the nearest match is picked. However, I have know idea how they do it so fast.

Scotty

Quote from: Dragx_Rage on March 27, 2011, 08:19:20 AM
I don't actually know, but I am guessing the notes in the song is like a barcode, and this barcode is compared to the songs and the nearest match is picked. However, I have know idea how they do it so fast.

A very expensive infra-structure.

ARTgames

#4
They probably have a system that can make some sort of fingerprint of the song like a hash but made better for this application.

Or in other words they turn the song into a number that represents that song based off the information from how it sounds. Then they use normal search technology (like how search works on google or bing ect) and compare the numbers to there database of know songs.

I googled "Music fingerprinting" and found this article.
http://www.newscientist.com/article/dn8973-music-fingerprinting-system-is-fastest-yet.html

It basically says what I did but gives much more detail on how the fingerprinting works.

QuoteMatthew Dunn, chief executive of MusicIP, claims his company's fingerprinting technology is the fastest available and uses the largest commercial database - containing 17 million songs.

To make a fingerprint, MusicIP quickly scans the first 2 minutes of a track and records frequency data every 185 milliseconds, before compressing the results into a 512 byte file. It also measures records the four most dominant tones in the first 30 seconds of the music.

The program uses information about these dominant tones to narrow the search before searching the song database using the frequency information. Dunn says this allows the company to perform hundreds of searches each second and that the service is sensitive enough to distinguish between different versions of the same tune, such as live and studio recordings.

So it takes these "dominant tones" to first narrow down the search and then it used its "records frequency data every 185 milliseconds" to fine tune the search.

Also remember that well organized data makes fast search. If keep your data base organized and you know the location ware you keep your "dominant tones" that sound like one way you can quickly cut out 99% of all there other songs.

Lets say you have a dictionary program. And I want to search for the word "stick". Well if my data is organized alphabetically than I do not have to compare the word "stick" to every word in the database. I can look at the first letter and skip to the "s"  section in my database. Doing this will help me cut the search time down.

So there are two parts to this.
1. making a good fingerprint.
2. having a good database.

krele

Quote from: ARTgames on March 27, 2011, 11:37:21 AM
They probably have a system that can make some sort of fingerprint of the song like a hash but made better for this application.

Or in other words they turn the song into a number that represents that song based off the information from how it sounds. Then they use normal search technology (like how search works on google or bing ect) and compare the numbers to there database of know songs.

I googled "Music fingerprinting" and found this article.
http://www.newscientist.com/article/dn8973-music-fingerprinting-system-is-fastest-yet.html

It basically says what I did but gives much more detail on how the fingerprinting works.

QuoteMatthew Dunn, chief executive of MusicIP, claims his company's fingerprinting technology is the fastest available and uses the largest commercial database - containing 17 million songs.

To make a fingerprint, MusicIP quickly scans the first 2 minutes of a track and records frequency data every 185 milliseconds, before compressing the results into a 512 byte file. It also measures records the four most dominant tones in the first 30 seconds of the music.

The program uses information about these dominant tones to narrow the search before searching the song database using the frequency information. Dunn says this allows the company to perform hundreds of searches each second and that the service is sensitive enough to distinguish between different versions of the same tune, such as live and studio recordings.

So it takes these "dominant tones" to first narrow down the search and then it used its "records frequency data every 185 milliseconds" to fine tune the search.

Also remember that well organized data makes fast search. If keep your data base organized and you know the location ware you keep your "dominant tones" that sound like one way you can quickly cut out 99% of all there other songs.

Lets say you have a dictionary program. And I want to search for the word "stick". Well if my data is organized alphabetically than I do not have to compare the word "stick" to every word in the database. I can look at the first letter and skip to the "s"  section in my database. Doing this will help me cut the search time down.

So there are two parts to this.
1. making a good fingerprint.
2. having a good database.
It's still pretty amazing. Thanks a lot for clarifying the mystery around Track-ID, highly appreciated ;)

ARTgames

http://en.wikipedia.org/wiki/Clarke's_three_laws
Quote3.Any sufficiently advanced technology is indistinguishable from magic.

In other words yeah I agree. :)