8

I'm looking for methods that work in practise for determining some kind of acoustical similarity between different songs.

Most of the methods I've seen so far (MFCC etc.) seem actually to aim at finding identical songs only (i.e. fingerprinting, for music recognition not recommendation). While most recommendation systems seem to work on network data (co-listened songs) and tags.

Most Mpeg-7 audio descriptors also seem to be along this line. Plus, most of them are defined on the level of "extract this and that" level, but nobody seems to actually make any use of these features and use them for computing some song similarity. Yet even an efficient search of similar items...

Tools such as http://gjay.sourceforge.net/ and http://imms.luminal.org/ seem to use some simple spectral analysis, file system location, tags, plus user input such as the "color" and rating manually assigned by the user or how often the song was listened and skipped.

So: which audio features are reasonably fast to compute for a common music collection, and can be used to generate interesting playlists and find similar songs? Ideally, I'd like to feed in an existing playlist, and get out a number of songs that would match this playlist.

So I'm really interested in accoustic similarity, not so much identification / fingerprinting. Actually, I'd just want to remove identical songs from the result, because I don't want them twice. And I'm also not looking for query by humming. I don't even have a microphone attached.

Oh, and I'm not looking for an online service. First of all, I don't want to send all my data to Apple etc., secondly I want to get only recommendations from the songs I own (I don't want to buy additional music right now, while I havn't explored all of my music. I havn't even converted all my CDs into mp3 yet ...) and secondly my music taste is not mainstream; I don't want the system to recommend Maria Carey all the time.

Plus of course, I'm really interested in what techniques work well, and which don't... Thank you for any recommendations of relevant literature and methods.

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194
  • People build whole BUSINESSES doing this BADLY. You want a list of cheap, easy ways to do it well???? – Ben Jan 19 '12 at 16:48
  • 1
    Step 1: precisely and algorithmically define 'acoustic similarity'. Step 2: Implement that. Good luck! (warning: Step 1 is hard) – AakashM Jan 19 '12 at 16:54
  • Ben, it's not a bad question. *Answers to this*, however, tend to be all over the place. Defining similarity metrics is hard business, often because it's not incredibly clear what measures are truly important from the human perspective. – JayC Jan 19 '12 at 18:57
  • 1
    @AakashM: I know that it is hard. That is why I'm asking. There are tons of papers around that all claim to have solved this problem, but none of these really seem to work ... heck, they all seem so obsessed with extracting the features they never seem to test if they actually work well. – Has QUIT--Anony-Mousse Jan 19 '12 at 19:04
  • @Ben I know the businesses suck at this. Because they want to *sell* music this way. Which I do not care about. That is one of the reasons I don't want to do it the same way as they do. – Has QUIT--Anony-Mousse Jan 19 '12 at 19:05
  • 2
    Let's have a mention of [Music Genome Project](http://en.wikipedia.org/wiki/Music_Genome_Project) then (this is the tech behind Pandora) – AakashM Jan 19 '12 at 19:11
  • @Anony-Mousse If anyone knows how to do it well, they will create a business that does it well (i.e. like Pandora but better), not answer a question on stack overflow. What you are asking for **does not exist** which is why nobody has done that. – Ben Jan 19 '12 at 20:08
  • The tech behind the Music Genome Project, as I understand it, is a bunch of gnomes--er, genomes--er, humans trained to categorize the music. Crowdsourcing is as good a solution to this problem as I think exists right now. – Owen S. Feb 23 '13 at 00:16
  • @Anony-Mousse have you ever been contacted to evaluate an audio similarity algorithm. I am sure no. It exists some rigorous evaluation protocols but this task is very subjective so it is impossible to get references. The pandora music library has been annotated by humans not by algorithms and it is still not convincing for many people. – lizzie Jul 23 '13 at 06:36

1 Answers1

0

Only one application has ever done this really well. MusicIP mixer. http://www.spicefly.com/article.php?page=musicip-software It hasn't been updated for about ten years (and even then the interface was a bit clunky), it requires a very old version of Java, and doesn't work with all file formats - but it was and still is cross-platform and free. It does everything you're asking : generates acoustic fingerprints for every mp3/ogg/flac/m3u in your collection, saves them to a tag on the song, and given one or more songs, generates a playlist similar to those songs. It only uses the acoustics of the songs, so it's just as likely to add an unreleased track which only you have on your own hard drive as a famous song.

I love it, but every time I update my operating system / buy a new computer it takes forever to get it working again.

andrew lorien
  • 2,310
  • 1
  • 24
  • 30