Using CDDB to Fill ID3 Information in Existing MP3s?
masonbrown asks: "I've got about 2000 songs in my MP3 collection, using iTunes on the Mac. I'd love to fill in the empty ID3 tags such as Album Title, Date, etc. automatically from something like CDDB. Is there any way to automate this after the song is already in MP3 format (like going by Artist and Song Title)?"
I'd have to say no, at least with the current CDDB. Albums are non-uniquely identified by Artist and Title; for example, I have two versions of "US Forces" by Midnight Oil, from different albums. How is it going to be possible to distinguish between them without examining the audio data?
A long time ago I wrote a program which can, Among other things, re-tag mp3s based on the filename. This isn't exactly CDDB, but it's a start.
It's a perl program, so it Should run on OS X without modification, so long as you've got it's perl module requirements taken care of.
The program is called The MP3 Butler, and you can get it from http://babblica.net/mp3butler.
get 0wned. irc.w30wnzj00.com
I'm not sure if Moodlogic (http://www.moodlogic.com) runs on the Mac, but it will check your MP3 library with its own user-supported (and extensive) song database, and then rename and organize into folders your MP3's.
You can't tag the songs in the manner you want for exactly the same reason napster had such a hard time complying with the requirements to disallow copyrighted materials.
CDDB works on the premise that the combinations of track lengths on a given album are like a unique fingerprint. Once you take into account that mp3s aren't exactly (to the frame) the same size as the audio cd, the fact that you may be missing the last 2 seconds of some track, etc, it becomes practically impossible.
I used to bulls-eye womp-rats in my pants
You know, you can always use MusicMatch Jukebox to look up tags on mp3's. It is especially easy if you have the album name or the artist... Or all the mp3's in the album. You enter whatever information you can, then select the Options > Music Library > Edit track Tags. highlight them and click the Lookup Tags button. It will look through the CCDB and try to use whatever information you have, the track length, etc.. and return as many options as possible as to what the song is. Of course, if you are looking up individual songs and don't have a clue as to the artist, album and song name.... you are pretty much screwed.
Ok, so it's not Linux, but Musicmatch Jukebox has a feature called supertagging.
It takes the song title and does a fuzzy search and can fill in the ID3 tags. It can scan it from the filenames only, or from an existing tag. If your tags are nonexistent or screwed up, you can fix them. It can even fill in Album art and so forth. It's not completely automatic, but it is automated.
I kind of grudgingly like musicmatch, even though they must never have scanned in their CD collection with it. I mean, why do I have to click on the mouse for every single CD in my collection. Why not have a feature to start ripping the moment you insert a CD and eject it when it's done? Bozos.
You could script it with AppleScript, since you can set track properties and can do Internet connections, presuming that CDDB has some useful interface for scripting.
-- Two men say they're Jesus. One of them must be wrong. - Dire Straits
Tag & Rename is a relative cheap program for mass editing of ID3 tags. One of it's many features is that if you have a directory that contains all of the tracks of one album, in order, it will go to CDDB and retrieve the album/track information. It will of course create ID3 tags from this information if you desire.
The user interface takes a little getting used to, and it's a Windows program, and it's payware, but I had to respond to all the folks who say "it can't be done". Tag&Rename does it.
http://www.softpointer.com/tr.htm
A.
...bringing you cynical quips since 1998
if there's a way to do it, i'd sure as shit like to know... i've quit downloading mp3's altogether since i developed this anal retentive streak about my mp3s... i only rip them off cds i can physically put in the drive and download track information at the time of ripping... don't ask me why, i don't know, it never used to bother me to have a full set of eminem labelled sarah mclachlan, or the latest limp bizkit that turned out to be a bunch of 20 second alternating cuts of britney spears and n'sync cat'ed together.
Unless you've been living in a cave for the past two years you'd know that CDDB has been hijacked by Gracenote who've turned what was a nice, cooperative development, steadily built up by thousands of unpaid users into a private, commercial venture.
Nowadays, if you're developing commercial software that accesses the CDDB database you have to pony up licensing fees or look elsewhere.
That elsewhere is freedb. Check it out and use it instead of using CDDB.
"Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
iTunes does have the ability to fill in missing information in some situations. For example, if you have an entire CD you ripped while offline, select the tracks and select "Get CD Track Names" from the Advanced menu. Everything from CDDB will be filled in, even if the songs still have "track1" etc as their names. Not sure if it can account for songs ripped from another encoder/incomplete albums.
Its not quite CDDB, but a windows app that edits id3 tag from file names & vice-versa
http://www.id3-tagit.de
Download
MP3 Rage will allow you to not only get info from CDDB for already ripped MP3s, but handle all sorts of other tagging and renaming. Check it out
-ds
You can select any or all tracks you have ripped using iTunes and use the Get CD Track Names on them at any time. In iTunes 3 with the Keep iTunes Music Folder Organized option it will even update the file names and folder names and structure with the new information instantly.
"Reality is just a convenient measure of complexity" -Alvy Ray Smith
I've got a bigger problem. I download a lot of mp3s with filenames in foreign languages. They look all funky and I can't make sense of them at all. Is there a program that will take the gibberish filenames and turn them into something with english characters?
The GeekNights podcast is going strong. Listen!
this whole thread should be
"I have no clue but leached my music "
CDDB works by doing a simple lookup of the CD's ID (burned in ) and then querys the CDDB database for what it thinks should the track names and other info
this is done on the track NUMBER and CD ID if you dont have these then CDDB is going to be pretty useless
regards
john jones
You probably want to use Applescript for this. Check out this page for a buttload of iTunes applescripts. For example the "Get CDDB Track Names" script will tag the selected tracks in iTunes with info from a CDDB webpage (that you searched for). And you can use the built-in applescripts to search the CDDB.
But honestly, with only 2000 songs, it would probably be less work to do it yourself, especially if you can use iTunes multiple-edit mode on tracks from the same album.
I hold it, that a little rebellion, now and then, is a good thing. -- Thomas Jefferson
Sure, you aren't going to get every invalid version, but who wants that anyway? For clean rips, you should be able to narrow the range down a lot. No, it won't be one-to-one like a CD, but that's okay too.
For someone who's done it already, check out MoodLogic. Hooks in with winamp too.
-Bill
SlashSig Karma: Excellent (mostly affected by moderatio
I wrote an ugly perl script that does this. It's based on the ideas from mp3cdd (you might be able to find this by searching google).
First you find all of the track lengths and build a fake TOC, assuming a 2 second lead-in. mp3cddb used file length and bitrate to guess the length. If you use VBR (or even ABR) this isn't accurate enough, so you need madtime from libmad. Feed this to CDDB (get the mod from CPAN).
You'll get a ton of results. Some will be totally unrelated, and some will be crap (all uppercase, all lowercase, genre missing, etc). Write a scoring function that weights all of the factors you care about, and then factor in the "distance" of the actual tracklists from your actual tracklists. Total time differences in seconds, or root mean squared differences, whatever gets good results. Pick the best.
Sanitize the result if you are using the CDDB info as a filename.
Now rename and mp3info your tracks from the data.
Chances are that you have you songs named in Album-Artist-Song.mp3, Album/Artist-Song.mp3, or Album/Artist/Song.mp3 format. I wrote a program called Mp3Tagger that can import this mp3 name information into the ID3 tag. (It can also go the other way and rename an mp3 based on id3 tags.) It runs on Windows, Linux, and Mac OS X among others.
i cbf'd creating an acct but that was fucken funny hehehehe
If you have a directory of MP3s that 1. is an album and 2. are in order, then you can use a program in the MP3::Info module distribution to do this. I've used it many times. Meng Weng Wong wrote the program, I wrote the module, and it's on the CPAN.
I think by default the program doesn't actually write the ID3 info to the MP3 file, but it's a simple edit to make that happen. You also need the CDDB module from the CPAN.
AudiferousID3 is a freeware OS X app that can tag and rename MP3 files based on freedb lookups.
Two cock in my pussy! It feel so good!
you might check out songprint.
It sounds like it will do what you're wanting, but the site looks kind of dead - the project may have been orphaned.
hth.
by renaTgad fixes the "payware" part. :)
You seem to have been misinformed.
We, the fellow users of the Internet, are not here as your employees, your slaves, or your parents.
We, like you, have full and rich lives to lead; we have a lot to do before we kick off. To earn our daily bread, many of us are technology professionals, making our living through solving problems like this. Despite that, we are glad to help out fellow seekers of knowledge, fellow strugglers in this hard, cruel world. We do it gratis, recognizing the debt that we owe to those who have helped us.
But then some yutz comes along and, like a fresh-hatched cuckoo, opens his mouth wide and peeps, "Gimme! Gimme! Gimme!" Thanks, but I have no particular interest in feeding leeches.
If you want to understand the preceding command, RTFM. And if you want to accomplish this task on Windows 2000, pay somebody. Linux is an OS for builders, for creators, for makers of things. Windows is an OS for consumers. If you want to act like a consumer, then get out that credit card.
Go take a look at mp3sort. Other tools in listed here will take mp3's named proporly and add id3 tags. Mp3sort will take mp3s and name them proporly. It does not get all of them. Of ~2000 I fed it, it left 50. But that is better then nothing. It is perl so it should run on most OS's.
r t/
Url:
http://www.sarahandtim.com/programs/mp3so
"The poet presents his thoughts festively, on the carriage of rhythm; usually because they could not walk" Nietzsche
Using a program called "mp3ascd" to generate the CDDB ID, and another program called "rebot" to do the renaming based on the ID. (Both found on freshmeat). Not the best software in the world, and I had to make a shell script to glue them together. But it is entirely possible.
With regard to completely untagged MP3s. The technologies sort of here (www.shazam.com) for identifying music, but the delivery mechanism's all wrong for you, and the price isn't good either. I can see this sort of thing branching out in a short while though. You send a fifteen second MP3 snippet, and an email comes back to you with the song details.
How I'd do it. If you can get the CDDB into a MYSQL database, it'd be easy enough to strip out the id tag info and do some sort of an index match.
The Feedb CD Data can be found here
Training monkeys for world domination since 1439
1 take deep "don't mod me down" breath. /b
....
2 from dos prompt do a brief directory listing of your mp3's to a file.
dir *.* > c:\s.bat
3. open up the file in word or textpad.
4. create a macro (using record) to
Cut the text from the line.. [Shift-End] [Ctrl-X]
paste the text [Ctrl-V]
lowercase the line [Shift-End] [Ctrl-Shift-L]
go to the beginning of the line [home]
type "rename "
Paste the cut text [Ctrl-V]
type " "
go to the beginning of the next line [Home] [Down]
5. Save the Macro then Run the macro through for every line.
6. edit the rename-to file for the items which aren't right
7. Save the file and run it by double clicking it.
Not quite as neat as the unix solution, but it should get the job done.
Training monkeys for world domination since 1439
A couple years ago, I played with some software that would recognize a tune by analysing the actual music data. I can't remember what it was called, and I only had limited success with it, but I did have some success.
I'd like to play with said software again to see if it has matured.. Anyone know what it might be called?
S
If you rip your MP3s with either iTunes or SoundJam (no longer exists as it was bought out and made into iTunes), it stores the CD info in some way such that you can fill it in from CDDB later. Works great for mobile people who rip on the plane, say, then fill in the info later on.
"Reality is merely an illusion, albeit a very persistent one " -Albert Einstein
OMFG That is the funniest shit i have seen in along time. Oh and LAZYNESS always wins down here. No account for me But its TOXIC from Perth West Australia :)
For the PC there is a program called Helium, it does exactly what you want and more... Except they want 35$ to register it, the trial version only lets you retag 10 songs at once from cddb. www.helium2.com
Perth WA is wher its @!