Settings

Theme

Why music ID resolution matters to every music fan on Facebook

notes.variogr.am

57 points by plamere 14 years ago · 14 comments

Reader

ptmx 14 years ago

That was quite an interesting read. I felt somewhat vindicated at the end of the article when the author mentioned that audio fingerprinting is a potential solution to this problem. While reading about the various issues created by matching songs based on names and artists, I immediately started thinking about how one might instead identify songs based on their acoustic properties.

Having looked into it a little bit (i.e., having read the wikipedia page about acoustic fingerprinting) I see that there are quite a few implementations in existence and that they appear to be fairly reliable at identifying songs based on the fingerprints -- which is really cool, first of all. Taking that for granted, it seems like facebook could solve its problem by creating a comprehensive database of songs which its music content partners offer.

In particular, I'm thinking of a database with entries containing an audio fingerprint, data about the artist, song, album, and so on, and links to the song on each of the partners' services. Then it would be possible to initially loop through each song offered by the partners, generate an acoustic fingerprint, check if it exists in the database[1], and then add a new record or add a link to an existing record as appropriate. This would be a huge process, of course, but afterwards you'd only have to perform this step for new songs, and you'd ultimately end up with a very impressive database of music IDs.

Anyway, that's undoubtedly a simplistic idea of what could be done and I'm surely glossing over some major obstacles, but I enjoyed indulging in some wishful thinking about it all the same.

[1] As I mentioned, I don't know anything about acoustic fingerprinting, but intuitively I can imagine it's probably not as easy checking if that fingerprint "exists" in the database. More likely, you'd have to check how similar it is to existing fingerprint and choose some threshold above which it's sufficiently likely to be the same song.

  • bmelton 14 years ago

    This is almost exactly the technology behind Shazam, which has a fairly extensive catalog. Shazam 'listens' to a song when you hit a button and captures microphone data from your phone. It then takes that recorded data and listens for 'key points', which it hashes and uses to compare against its catalog.

    If you want to know more about how to implement it on your own, you could use this as a resource: http://www.redcode.nl/blog/2010/06/creating-shazam-in-java/

    I assume the biggest drawback to be that Shazam uses a microphone, which is obviously subject to ambient noise. Shazam doesn't actually seem to have much of a problem with this, but I'm guessing a passive listener that sampled the audio output device instead of a noisy ambient microphone would work much more reliably.

unfletch 14 years ago

This is why ISRC exists. It's like ISBN for recordings, and it's in active use.

http://en.wikipedia.org/wiki/Isrc

A few years back I worked for a startup that was cataloging recorded music. I recall that the major labels would provide us with ISRC, among other things, for all of their recordings. I don't recall whether independent labels and artists used it though. I would guess that it varied.

(See also ISWC, which is for the composition, not the recorded performance of it. ISWC/ISRC is a bit like class/instance.)

  • brianwhitman 14 years ago

    Right, ISRC is somewhat useful for glue but is not in wide enough use that it covers the world of music. It also reflects "recordings" not "songs" which actually cause a lot of resolution issues (radio edits, clean vs. explicit and etc.) It also does not help anyone resolve artist names like "The The" when their stopword list turns that into an empty query :)

  • plamereOP 14 years ago

    There's no central database of ISRCs, so even if you have an ISRC in your hand there's no way to find out what artist and song title that ISRC represents.

    • guard-of-terra 14 years ago

      You don't need one. Both Spotify and Rdio have ISRCs for their tracks (they got those from the same source), so they can resolve all those cases based on ISRC equality only. How they (or was it Facebook) managed to fail the described cases is beyond me.

      As someone who implemented metadata matching of two distinct musical catalogs: First you do search, then you do ranking, then you take the best result. You need to take all the needle metadata (isrc, albums' upc/icpn, title, version, album, artists), and then

      - If there are results with the same ISRC, it's cool. Choose the best matching album (by UPC, then by title, then by album version)

      - If there aren't, match the track + artist pair and then choose the best matching album for it.

      - If you don't have ISRC match and can not match on track title + artist, you should probably bail out.

      This way you both won't miss a track in compilation, neither would you prefer The Hit Crew to the actual good performer.

      Most international content has ISRC. Local, independent and DIY would probably not. But it's usually easier to match because it doesn't have dozens of different recordings for tracks nor endless realms of compilations.

    • jdunck 14 years ago

      Sounds like a business opportunity. Oh, wait, that's what Echo Nest is doing. :)

  • parbo 14 years ago

    The exact same track can have multiple ISRC's due to being represented by different labels in different regions.

    • unfletch 14 years ago

      There are real-world problems that get in the way here, but that's a misapplication of the spec. A given recording is supposed to be assigned one ISRC. If that recording is released by another entity in another region, it should use the existing ISRC.

snikolic 14 years ago

I can't agree more. Social music is the future of music, but it's struggling.

The variety of online music sites/services is a strange double edged sword - I'm really happy that so many diverse music products exist, but the fragmentation of online music makes it nearly impossible to build a meaningful social experience around music. An Rdio user interacts with and consumes music one way, a SoundCloud user thinks of online music another way, and the two of them can't even figure out if they're listening to the same song - literally.

Accurate, cross-platform music ID resolution is the first step in fixing all of this. And it's not an easy problem.

(Full disclosure: I build http://flock.fm which uses EchoNest for song/artist resolution, and I also recently won some swag from them in a contest.)

adaml_623 14 years ago

The world of classical music is even more complicated. The same orchestra and performers may record the same piece of music multiple times in different locations or years or with different conductors. All of these things make the identification of a particular piece of music even more difficult.

zmanji 14 years ago

I think this would be a great time for Facebook or some large company who is interested in music identification to start using the MusicBrainz database. They already have a huge database and most of them have an acoustic hash as well.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection