Slashdot Mirror


Automatically Managing Large MP3 Collections?

chhamilton asks: "Where I work we have a dedicated music server with an evergrowing music collection (>60 GB). Currently, we manage it completely by hand (myself and a dedicated few others) enforcing a consistent naming scheme, ID3v1 and v2 tags, and sorting. We're wondering if there are any decent tools out there for automating this process as much as possible. The ideal tool would be something that tries to infer artist/album/song name by analyzing the file name and ID3 tags (if present), and cross-checking against the CDDB database, and then 'normalize' the track by renaming, updating the ID3s, moving to an appropriate location, and entering into a MySQL DB. We found a similar question asked previsouly, but without too many helpful responses. Does anybody know of any useful tools out there doing anything remotely like this?"

9 of 30 comments (clear)

  1. Not exactly management... by jimmydigital · · Score: 2

    Check out my project Agatha Over at SourceForge.. It's mainly for playing music.. but in generating the web pages of songs it mangles the names to make them all similar. At the moment it's all based on file names but I tested out some id3 code that would pull the song name.. and drop back to file name mangling if it didn't have one. Anyway this is a shameless plug for my first os project.

    --
    Every normal man must be tempted, at times, to spit on his hands, hoist the black flag, and begin slitting throats. -HLM
  2. MD5 not the best idea. by Wakko+Warner · · Score: 4
    Two "identical" songs may produce different hashes depending on the encoder used, bitrate, etc.

    What I did was write a perl script which compares (using String::Similarity and File::MP3Info) the filenames themselves and their running time in seconds to those in my MP3 database. The script is command-line configurable to accept different "similarity" values as well as different "difference in seconds" values. The code itself is insanely simple, and so far it's about 80-90% accurate at finding duplicate MP3s. False-positives are surprisingly low, too. Greatly simplifies the task of weeding out already-downloaded crap.

    - A.P.

    --
    Forget Napster. Why not really break the law?

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:MD5 not the best idea. by ilkahn · · Score: 2

      Have you considered releasing this tool, (which would appear to be considerably useful) in some open source manner so that people like myself and the person who asked this Ask Slashdot could get ahold of it? I know I would *love* to be get my hands on this.

    2. Re:MD5 not the best idea. by Wakko+Warner · · Score: 3
      Sure. I've put the code (tiny as it is) up at http://bitey.net/code/dupefind.txt. The file should be self-explanitory, and there's a couple comments in there that should help explain the database (just a flat-file, actually) format.

      The code that actually creates the flat-file database (from a mounted CD-Rom) is here.

      Another script that plays stuff and searches through the database is here.

      - A.P.

      --
      Forget Napster. Why not really break the law?

      --
      "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
  3. My MP3 Web Management Tool in PHP/mySQL by lozza_dude · · Score: 2

    I have written a web based management tool, written in PHP, to handle big MP3 collections. It current it handles about 100GB & I have run it on Linux & Windows systems.

    The main cataloging script behind it recursive reads directories that u specify in the config file. From the directory structures & filenames it cleverly works out the artist name, song title, track number, album name, etc. It even works on compilation CDs. All this information is inserted into a mySQL database with artists & albums being foreign keys - so u can perform searches.

    There is support for ID v1 tags but I only use this to get the length of the track.

    The web front end has support for users. U log in with a username & password. This enables u to save favourite artists, songs, etc, all of which are accessible by menu bars.

    Album playlists are automatically created, there is a Dynamic HTML drag & drop system to create & order your own custom playlists. U can click on songs to play them, or albums, or your custom playlists.

    There are so many more features - search tool, album cover support, forums, administration area, etc. I guess I could open source it when I get the time.

  4. FreeAmp by willis · · Score: 2

    Freeamp makes an explorer-like tree based on the ID3 tags of your MP3 files. It's not the most elegant solution, but it's pretty handy if you have a few gigs and you're looking for something (or you want to change, say, the album name or artist name for EVERY work from a single artist.).

    --

    there is no thing
    what else could you want?
  5. write one yourself. by Zurk · · Score: 5

    its fairly easy. use an MD5 hash to generate keys (or RIPEMD-160) which reference each file and then dump em to mysql. cross reference em with the ID3 tags and/or wget the stuff from cddb and you should be all set...shell script should do it..nothing fancy required.

  6. MPA or OGA the answer by Snowfox · · Score: 2
    I'd love to see a standard MPA or OGA format. That would be an MP3 Album or Ogg Album format. This could simply be a tar containing the songs processed at a standard bitrate by a standard compressor with a standard descriptor file containing CRCs, titles, the copyright holder and the relevant CDDB entry if any.

    What would you add to/remove from the above?

    ---
    My opinions are mine.

  7. BeOS is halfway there by Sebbo · · Score: 2

    BeOS has a utility that takes ID3 tags and makes them into filesystem attributes, which means that you can sort and search by artist/genre/whatever. There are plenty of utilities specifically to do that elsewhere, but having it built into the OS like that is pretty sweet.