POV-Ray : Newsgroups : povray.off-topic : Music Fingerprinting ..? Server Time
14 Oct 2026 08:34:55 EDT (-0400)
  Music Fingerprinting ..? (Message 1 to 24 of 24)  
From: Mike Raiford
Subject: Music Fingerprinting ..?
Date: 9 Dec 2008 09:50:19
Message: <493e85ab$1@news.povray.org>
I'm going to post a mascotesque post.

Playing with Winamp quite a bit, and I've found a really cool feature... 
Auto-tag. Took some tracks that somebody put together on a CD as a 
"party favor" for my wife's wedding shower a few years ago. A real 
mishmash of music and genres, and no track identification. I previously 
ripped the music from the CD, calling the tracks "Wedding track 1, etc". 
Yesterday I thought I would try the auto-tag feature to see how well it 
worked.

#1. It worked shockingly well, One track was mislabeled, and I'm 
guessing it was more a mislabeling of the CD tracks on the album that 
that song belonged on in the database.

#2. It was very quick.

It uses "fingerprinting" technology to match the song with its entry on 
the database. What I found even more interesting is if I stripped a 
track of its name, tags, and anything other than the audio to identify 
it. It would correctly identify it. Even if that song came from a 
"greatest hits" album (e.g. the same exact song could be found elsewhere 
on a different album)

Obviously there must be some sort of hashing involved ... but how? We're 
talking a file that has been encoded with a lossy algorithm, and while 
the data resembles the original, it is not the original ...

... Anyway, part 2, related...

In winamp is this "Play songs similar to ..." menu item. A little 
research yields a program called MusicIP mixer. Which I'm playing with 
to shuffle my music library. Essentially it groups similar songs 
together. So far the shuffle is surprisingly smooth. It uses acoustic 
fingerprinting as well to do its work. I listen to a fairly broad 
spectrum of genres, Its nice because it doesn't say put a country song 
immediately after say, Rage against the Machine ...

-- 
~Mike


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:01:10
Message: <493e8836@news.povray.org>
Mike Raiford wrote:

> Yesterday I thought I would try the auto-tag feature to see how well it 
> worked.
> 
> #1. It worked shockingly well, One track was mislabeled, and I'm 
> guessing it was more a mislabeling of the CD tracks on the album that 
> that song belonged on in the database.
> 
> #2. It was very quick.
> 
> It uses "fingerprinting" technology to match the song with its entry on 
> the database. What I found even more interesting is if I stripped a 
> track of its name, tags, and anything other than the audio to identify 
> it. It would correctly identify it. Even if that song came from a 
> "greatest hits" album (e.g. the same exact song could be found elsewhere 
> on a different album)
> 
> Obviously there must be some sort of hashing involved ... but how? We're 
> talking a file that has been encoded with a lossy algorithm, and while 
> the data resembles the original, it is not the original ...

Hmm, interesting. This ought to be highly infeasible. (But then, so 
should identifying a CD by it's serial number, and apparently that is a 
"solved problem".)

> I listen to a fairly broad 
> spectrum of genres, Its nice because it doesn't say put a country song 
> immediately after say, Rage against the Machine ...

Hahahaha!

Yeah, people look at me funny when I tell them that I have a custom 
WinAmp playlist rather than just playing it on random. But Pendulum 
followed by Enya is just weird!


Post a reply to this message

From: Eero Ahonen
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:10:29
Message: <493e8a65$1@news.povray.org>
Invisible wrote:
>
> Hahahaha!
> 
> Yeah, people look at me funny when I tell them that I have a custom
> WinAmp playlist rather than just playing it on random. But Pendulum
> followed by Enya is just weird!

You two mean that this kind of variation is bad? :P


# 2008-12-09 16:26:46: Various - Metal Rocks - CD 1 - Hypocrisy /
Unleash The Beast Enqueue again,  play now or see track info
# 2008-12-09 16:21:52: Rammstein - Mutter - Nebel Enqueue again, play
now or see track info
# 2008-12-09 16:18:35: Sarah Brightman - Encore - One More Walk Around
The Garden (Carmelina) Enqueue again, play now or see track info
# 2008-12-09 16:13:02: AC/DC - Ballbreaker - The Honey Roll Enqueue
again, play now or see track info
# 2008-12-09 16:08:39: Pink Floyd - Is There Anybody Out There? - The
Wall Live (CD 2) - In The Flesh Enqueue again, play now or see track info
# 2008-12-09 16:01:34: Pink Floyd - Is There Anybody Out There? - The
Wall Live (CD 2) - Run Like Hell Enqueue again, play now or see track info

I actually mostly like it. It brings changes to everyday life at home :).

-Aero


Post a reply to this message

From: scott
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:37:39
Message: <493e90c3$1@news.povray.org>
>> Obviously there must be some sort of hashing involved ... but how? We're 
>> talking a file that has been encoded with a lossy algorithm, and while 
>> the data resembles the original, it is not the original ...
>
> Hmm, interesting. This ought to be highly infeasible.

Actually I have a phone book entry on my phone, which you can call, hold 
your phone up to some random speaker (be it in your car, on the TV, etc) for 
10 seconds, then a few seconds later it texts you back the artist and song 
name.  It's pretty neat and has worked every time I've tried it.

Maybe it works in the frequency domain, so takes the fourier transform of 
the sample, then uses some fuzzy matching algorithm to see what it matches 
up with?

> (But then, so should identifying a CD by it's serial number, and 
> apparently that is a "solved problem".)

What do you mean? Isn't the whole idea of a *serial* number that you can 
identify which one it is?


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:40:41
Message: <493e9179$1@news.povray.org>
Mike Raiford wrote:

> It uses "fingerprinting" technology to match the song with its entry on 
> the database. What I found even more interesting is if I stripped a 
> track of its name, tags, and anything other than the audio to identify 
> it. It would correctly identify it. Even if that song came from a 
> "greatest hits" album (e.g. the same exact song could be found elsewhere 
> on a different album)
> 
> Obviously there must be some sort of hashing involved ... but how? We're 
> talking a file that has been encoded with a lossy algorithm, and while 
> the data resembles the original, it is not the original ...

http://mtg.upf.edu/files/publications/MMSP-2002-pcano.pdf

Apparently you take your sound signal, compute its frequency spectrum, 
and then take various statistical measurements from that. (Whatever you 
think is "perseptually significant"; the overall energy distribution, 
the frequencies of the main spectural peaks, how fast the spectrum is 
changing, whatever you think will work.) You eventually summarise all of 
this data to yield a "fingerprint" code in such a way that things that 
sound similar to the human ear are likely to yield similar fingerprint 
codes. Then you just need to develop a fast search algorithm...

So how it works depends on *exactly* which system it uses. (WinAmp is 
using MusicID from Gracenote - the people who invented CDDB, and who 
therefore presumably have their hands on a huge catalogue of CD data!) 
It's comparing sound signals based on their overall spectrum (how bassy 
or toppy they are, possibly the pictures of the main signal spikes) and 
how it evolves over time (slowly changing vs rapidly changing).

I would suggest that if you played two different tunes on the same 
instrument in the same key at the same tempo, it might be rather hard 
for the machine to tell them apart. But then, think about it: how well 
would a human do this?

I almost want to rush out and grab WinAmp just so I can see how badly it 
misclassifies material that isn't in the database... >:-D


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:44:23
Message: <493e9257$1@news.povray.org>
scott wrote:

> Actually I have a phone book entry on my phone, which you can call, hold 
> your phone up to some random speaker (be it in your car, on the TV, etc) 
> for 10 seconds, then a few seconds later it texts you back the artist 
> and song name.  It's pretty neat and has worked every time I've tried it.

Heh. Well that's one way to find out what tune that is on that YouTube 
video... ;-)

What does it do if you play something that isn't in the database? (I.e., 
you pick up an instrument and play something yourself.)

> Maybe it works in the frequency domain, so takes the fourier transform 
> of the sample, then uses some fuzzy matching algorithm to see what it 
> matches up with?

See my other reply. Statistical summaries of the frequency spectrum (not 
forgetting temporal information too) plus fuzzy matching.

>> (But then, so should identifying a CD by it's serial number, and 
>> apparently that is a "solved problem".)
> 
> What do you mean? Isn't the whole idea of a *serial* number that you can 
> identify which one it is?

Yes - but if you aren't the manufacturer, it's just a useless number to 
you. The only reason this is usable is that somebody sat down and 
somehow built a giant database containing all the serial numbers and the 
matching metadata; AFAIK, the manufacturers didn't hand this data over, 
some poor sod collected it.


Post a reply to this message

From: Mike Raiford
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:47:55
Message: <493e932b$1@news.povray.org>
Invisible wrote:

> Yes - but if you aren't the manufacturer, it's just a useless number to 
> you. The only reason this is usable is that somebody sat down and 
> somehow built a giant database containing all the serial numbers and the 
> matching metadata; AFAIK, the manufacturers didn't hand this data over, 
> some poor sod collected it.

And that's exactly how it happened. Except replace poor sod with 
CD-Ripping community. They'd tag the resultant MP3's and send the data 
to CDDB, which would then get sent out to anyone else who ripped the CD.

-- 
~Mike


Post a reply to this message

From: Mike Raiford
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:50:20
Message: <493e93bc$1@news.povray.org>
Invisible wrote:

> I almost want to rush out and grab WinAmp just so I can see how badly it 
> misclassifies material that isn't in the database... >:-D

 From what I've seen on a few tracks that weren't really released music, 
it would simply come back with nothing ...

-- 
~Mike


Post a reply to this message

From: scott
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:50:58
Message: <493e93e2$1@news.povray.org>
> What does it do if you play something that isn't in the database? (I.e., 
> you pick up an instrument and play something yourself.)

I tried whistling a song to it once, I just got a text back saying it 
couldn't recognise the song :-( grrrrr

>> What do you mean? Isn't the whole idea of a *serial* number that you can 
>> identify which one it is?
>
> Yes - but if you aren't the manufacturer, it's just a useless number to 
> you. The only reason this is usable is that somebody sat down and somehow 
> built a giant database containing all the serial numbers and the matching 
> metadata; AFAIK, the manufacturers didn't hand this data over, some poor 
> sod collected it.

Or rather, multiple poor sods collected it :-)

http://en.wikipedia.org/wiki/CDDB#History


Post a reply to this message

From: Eero Ahonen
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:52:09
Message: <493e9429$1@news.povray.org>
Mike Raiford wrote:
> 
> And that's exactly how it happened. Except replace poor sod with
> CD-Ripping community. They'd tag the resultant MP3's and send the data
> to CDDB, which would then get sent out to anyone else who ripped the CD.
> 

And either someone is fucking the system up from his part or the same
serial can be used for multiple CD's. Sometimes CDDB and FreeDB give you
multiple choices, of which usually one or two is that actual album.

-Aero


Post a reply to this message

From: scott
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:55:41
Message: <493e94fd$1@news.povray.org>
> And either someone is fucking the system up from his part or the same
> serial can be used for multiple CD's. Sometimes CDDB and FreeDB give you
> multiple choices, of which usually one or two is that actual album.

They don't work from the serial number as such, but they make up some sort 
of hash code based on the track lengths etc.


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:56:11
Message: <493e951b$1@news.povray.org>
>> What does it do if you play something that isn't in the database? 
>> (I.e., you pick up an instrument and play something yourself.)
> 
> I tried whistling a song to it once, I just got a text back saying it 
> couldn't recognise the song :-( grrrrr

I forsee this degenerating into something akin to the intros round from 
Nevermind the Buzzcocks. ;-)

>> AFAIK, the manufacturers didn't hand this data 
>> over, some poor sod collected it.
> 
> Or rather, multiple poor sods collected it :-)

Heh. Sounds almost like the way Linux happened... ;-)


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 10:59:03
Message: <493e95c7$1@news.povray.org>
scott wrote:

> They don't work from the serial number as such, but they make up some 
> sort of hash code based on the track lengths etc.

I don't know about that... One time, I had a CD sitting on my desk, and 
I noticed that round the spindle hole there is some *tiny* writing 
that's barely readable.

I typed the code number into Google. It instantly gave me the entire 
track listing for the CD. (!) Just from the 200-digit code printed on 
the CD's surface. I imagine CDDB reads this same code. (It's almost 
certainly burned onto the data track as well as being printed on the label.)

The best thing is, the CD in question was "Best Trance Anthems EVER 
volume #1,374" or something! :-D


Post a reply to this message

From: scott
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 11:06:39
Message: <493e978f@news.povray.org>
> I don't know about that...

It works so that copies of audio CDs still give the correct result, actually 
reading up about it, any CD that has exactly the same number of tracks 
starting at the same points on the CD with the same total play time will 
give the same freedb/CDDB result.

> One time, I had a CD sitting on my desk, and I noticed that round the 
> spindle hole there is some *tiny* writing that's barely readable.
>
> I typed the code number into Google. It instantly gave me the entire track 
> listing for the CD. (!) Just from the 200-digit code printed on the CD's 
> surface.

Well yeh, I think that's more like a barcode, you know the one that most 
shops have a database for to convert bar codes to prices at the checkout.  I 
imagine at least some websites have CDs listed with their corresponding 
serial numbers.

> The best thing is, the CD in question was "Best Trance Anthems EVER volume 
> #1,374" or something! :-D

Yeh it's always cool when you're thinking "I bet nobody in the entire world 
could possibly have ever even played this CD, let alone typed in all the 
track names", and then wham you get the results back!


Post a reply to this message

From: Invisible
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 11:16:38
Message: <493e99e6$1@news.povray.org>
>> I typed the code number into Google. It instantly gave me the entire 
>> track listing for the CD. (!) Just from the 200-digit code printed on 
>> the CD's surface.
> 
> Well yeh, I think that's more like a barcode, you know the one that most 
> shops have a database for to convert bar codes to prices at the 
> checkout.  I imagine at least some websites have CDs listed with their 
> corresponding serial numbers.

I always assumed that was how CDDB works, and why if you burn an 
identical copy of the original CD it totally fails to identify it.

> Yeh it's always cool when you're thinking "I bet nobody in the entire 
> world could possibly have ever even played this CD, let alone typed in 
> all the track names", and then wham you get the results back!

Somewhere I found a website full of barcodes. Just about anything, type 
in a barcode and it knows what it is! (Well, almost... If you read into 
this area, you quickly discover that actually there are several 
different barcode systems, most of them incompatible.)

Tangentally: One of the example projects in Real World Haskell is a 
barcode recognition system. As in, you give it a blurry picture of a 
barcode taken with your mobile phone, and it tells you the digits. Just 
by looking at the vertical bars. It even uses the check digit to make 
sure it's read it correctly.


Post a reply to this message

From: Tim Cook
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 12:16:02
Message: <493ea7d2@news.povray.org>
You think that's bad, before I deleted it I'd ripped a Shania Twain album of 
my ex-landlord's and it played immediately following Vivaldi's Four Seasons 
when I ran my music straight-through.

Slightly jarring, to say the least.

-- 
Tim Cook
http://empyrean.freesitespace.net


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 12:27:02
Message: <493eaa66@news.povray.org>
scott wrote:
> Actually I have a phone book entry on my phone, which you can call, hold 
> your phone up to some random speaker (be it in your car, on the TV, etc) 
> for 10 seconds, then a few seconds later it texts you back the artist 
> and song name.  It's pretty neat and has worked every time I've tried it.

I just finished software doing that, except it would also recognise what 
radio station you're listening to, whether it was an advertisement and from 
whom, or whether it was a talk show and who was talking.

It would also do TV, and give you (for example) links to the MTV episode 
information, or the buy-this link if you listened to the Home Shopping Network.

(I'm hoping the bosses find some more money, but it's looking grim still.)

The audio identification is all based around taking a short sample and 
finding it amongst a set of larger samples. It's pretty freaky, because the 
algorithm even finds (for example) people covering songs.  We had an 
American Idol caller come in and the system said "I don't know who is 
singing this, but it's Yesterday by the Beatles." :-) Pretty cool.

So the Fraunhoffer stuff is recognising music based on frequency analysis, 
beat detection, and a couple other parameters that are of course secret. The 
signatures it generates are about 300 bytes/second of audio, with even less 
than that needing to actually be in memory at any given time for a 
preliminary match. But given that it's a linear size increase, I'm guessing 
it's something not unlike string matching, except with fuzzy audio 
characteristics. It's usually either a very good match, or one of these 
"Could be Celine Dijon, could be Mozart, could be Ozzy Osborne" kind of things.

> Maybe it works in the frequency domain, so takes the fourier transform 
> of the sample, then uses some fuzzy matching algorithm to see what it 
> matches up with?

Basically that sort of thing, yes.

>> (But then, so should identifying a CD by it's serial number, and 
>> apparently that is a "solved problem".)
> 
> What do you mean? Isn't the whole idea of a *serial* number that you can 
> identify which one it is?

CDDB works by looking at track lengths and positions. I.e., the information 
in the table of contents that says what sector each song starts and stops 
on. Audio CDs for some reason don't have serial numbers, UPC codes, lyrics, 
or cover art encoded on them, which seems like rather a loss to me. (Even 
stranger to me is that MP3 doesn't define that sort of thing either.)

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 12:28:55
Message: <493eaad7$1@news.povray.org>
scott wrote:
> Yeh it's always cool when you're thinking "I bet nobody in the entire 
> world could possibly have ever even played this CD, let alone typed in 
> all the track names", and then wham you get the results back!

That was very handy with my wife's collection of chinese opera music, as I 
wouldn't have had any idea how to even transcribe the track names from the 
box to the computer. :-)

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 12:30:09
Message: <493eab21$1@news.povray.org>
Invisible wrote:
> I always assumed that was how CDDB works, and why if you burn an 
> identical copy of the original CD it totally fails to identify it.

It always worked for me, even when I took MP3s I'd ripped before and burned 
them onto a new CD with cd-text included. As long as the tracks are the same 
length, it should work.

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

From: Orchid XP v8
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 13:06:24
Message: <493eb3a0$1@news.povray.org>
Darren New wrote:
> Invisible wrote:
>> I always assumed that was how CDDB works, and why if you burn an 
>> identical copy of the original CD it totally fails to identify it.
> 
> It always worked for me, even when I took MP3s I'd ripped before and 
> burned them onto a new CD with cd-text included. As long as the tracks 
> are the same length, it should work.

Are you sure it's not just reading the track titles from the CD-text? :-P

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Orchid XP v8
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 13:09:08
Message: <493eb444$1@news.povray.org>
>>> (But then, so should identifying a CD by it's serial number, and 
>>> apparently that is a "solved problem".)
>>
>> What do you mean? Isn't the whole idea of a *serial* number that you 
>> can identify which one it is?
> 
> CDDB works by looking at track lengths and positions. I.e., the 
> information in the table of contents that says what sector each song 
> starts and stops on. Audio CDs for some reason don't have serial 
> numbers, UPC codes, lyrics, or cover art encoded on them, which seems 
> like rather a loss to me. (Even stranger to me is that MP3 doesn't 
> define that sort of thing either.)

MP3 defines ID3 for storing basic metadata about the track.

I gather the Ogg guys have a special format especially for storing 
lyrics... ;-)

-- 
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 15:04:54
Message: <493ecf66@news.povray.org>
Orchid XP v8 wrote:
> Are you sure it's not just reading the track titles from the CD-text? :-P

Yes. If it were, it wouldn't work without the CD text, and the text would 
match what's on the CD.

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 15:05:33
Message: <493ecf8d$1@news.povray.org>
Orchid XP v8 wrote:
> MP3 defines ID3 for storing basic metadata about the track.

No it doesn't. That was tacked on long after the format was standardized and 
popular. Hence the obvious kludginess of the format.

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

From: Darren New
Subject: Re: Music Fingerprinting ..?
Date: 9 Dec 2008 15:15:00
Message: <493ed1c4$1@news.povray.org>
Darren New wrote:
> Orchid XP v8 wrote:
>> MP3 defines ID3 for storing basic metadata about the track.
> 
> No it doesn't. That was tacked on long after the format was standardized 
> and popular. Hence the obvious kludginess of the format.

As in, http://www.id3.org/History

They just found a way to make an MP3 player say "oh, I must have picked this 
stream up in the middle. I'll wait for a sync flag so I know I'm at the 
boundary of a chunk."  Other than the need to kludge it into a streaming 
medium that wasn't designed for such things, it's actually a pretty nicely 
designed format.

-- 
   Darren New, San Diego CA, USA (PST)
   The NFL should go international. I'd pay to
   see the Detroit Lions vs the Roman Catholics.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.