Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In the vein of this question http://unix.stackexchange.com/questions/3037/is-there-an-easy-way-to-replace-duplicate-files-with-hardlinks is there any software that will automatically parse a library of my songs and find the ones that really are duplicates that one can be eliminated? Here's an example:

My brother used to be a huge fan of remixing CDs. He would take all of his favorite tracks and put them on one. Then he would use my computer to read them in. So now I have like 6 copies of Californication on my HDD, and they're all a few bytes difference overall. I have hundreds of songs in my library like this. I want to trim them down to having uniques. They don't all have correct ID3 tags, so figuring out that Untitled(74).mp3 is the same as californication.mp3 is the same as whowrotethis.mp3 is tricky.

I do NOT want to consider a concert album and a studio album rip to be the same (if I just did artist/title matching I would end up with this scenario, which doesn't work for me).

I use Windows (pick your platform) and will be getting an OSX box later in the year. I'll run Linux if that's what it takes to get it organized. I have unprotected AAC and mp3 files. Bonus points for messing with WAV or MIDI and bonus points for converting from those into MP3 (I can always use Audacity and LAME to convert later if I know they match or to convert ahead of time if that will make things easier).

Are there any suggestions, or do I need to goto Programmers or SO and build a list of requirements for comparing these things and write the software myself?

share|improve this question
    
"Bonus points" meaning I will offer a bounty to anyone who can do this :-) –  Josh Mar 10 '11 at 22:06
    
Well I don't have points on here to offer a bounty I don't think but if you wanna go ahead :P –  jcolebrand Mar 10 '11 at 22:07
    
I want the answer too, so if you don't get one, I will offer a bounty. –  Josh Mar 10 '11 at 22:08
    
Programmers and StackOverflow are for programming and programmer problems and tools, not a place to solicit software development. If you posted a request like that it would be removed in pretty short order so don't. –  David Ma Mar 10 '11 at 23:27
1  
@David ~ I know quite a bit about the network. I appreciate your collected 2k rep, but I'm a mod on one of the network and I know all about SO and Programmers and over 10k rep on the network in general. See any of my profiles. But I do appreciate the concern. It's just that I know how to phrase questions, such as "What is the best way to generalize a waveform for an MP3 encoded song so that I can match it's [genetic code] against similar works to determine similarity?" which is a very answerable question. Possible answers are WAV or reencode all songs to 64kbps and stick to mod8 frames. –  jcolebrand Mar 10 '11 at 23:32
add comment

1 Answer

It's actually a pretty difficult algorithmic problem, but luckily it's already been written. MusicBrainz Picard will identify songs by sound then will assign them a name based on a large database of audio finger prints.

If it identifies a duplicate, it will give the song the same name as the original with a number appended to the end, so you can easily delete duplicates by removing any song that has a number appended to the end. It's been a few years since I've used Picard, so it's possible that duplicate removal has been added.

MusicBrainz Picard http://musicbrainz.org/doc/PicardTagger

share|improve this answer
    
I had somewhat forgotten about this tool, but it seems that I recall it worked by fingerprinting them to a database, and I seem to have a high number that don't fingerprint well apparently. ~ As for the algorithmically difficult problem, I see it as a challenge. I'll need to learn something about parsing MP3 and finding a unique waveform that I can use to fingerprint against a range of bitranges, but that might be pretty good for learning. Otherwise, I see it as a way to learn how to do something useful for the world at large. I see some other potential outcomes as well now too. –  jcolebrand Mar 10 '11 at 23:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.