Switching from MP3 to AAC Without Losing Your Mind


If you’re anything like me, the minute you downloaded iTunes 4 and saw that it supported AAC-encoded files, your mind was bristling with plans to re-encode every mp3 in your music library to the smaller, higher-quality AAC format.

Switching from MP3 to AAC Without Losing Your Mind

I began the massive project the day iTunes 4 came out. (“Massive” is about the only way to describe re-encoding over 9500 songs from CD all over again.) Remembering the month it took me to get the music onto my hard drive the first time, I was not looking forward to hours in front of the computer, mucking about with ID3 tag info and correcting CDDB’s many, many errors.

Replace Existing

iTunes is one of the best pieces of software Apple makes, and the fact that it is still freeware (knock on wood) is doubly amazing. Each release of iTunes has not only added features, but has done so with intelligence and attention to usability. iTunes 4 did not disappoint; as with any piece of software, the details matter; the detail that increased my admiration for iTunes’ developers the most this time was the “Replace Existing” option.

The authors of iTunes intuited that a great many users would, like me, want to convert huge libraries of music from mp3 to AAC, and that these users were going to re-encode straight from CD to avoid the sound-quality loss that comes with converting one MPEG codec to another. At the same time, they reasoned (rightly) that the same users would likely have invested a great deal of time compiling playlists, rating songs, and adding comments to certain mp3s, information that, were we to re-encode, we’d lose and have to enter all over again.

Hence, the “Replace Existing” option. I discovered the option the first time I clicked “Import” to re-encode a CD: a dialog popped up and in the bottom left-hand corner of the dialog was a button reading “Replace Existing”. I clicked the button and iTunes proceeded to encode the files, write the old database information to them , and then move the older files to the Trash.


The only problem with “Replace Existing” is that the option is only made available when the tag info of the CD and the tag info of the tracks being replaced is identical. Given that most users change CDDB’s data to edit for accuracy or to suit their particular needs, this means that often, a user will insert a CD, click “Import” and not be offered the option.

Thankfully, there are ways to remedy this problem. The simplest method is to insert the CD, get the track info from CDDB, and edit the CD’s tags as needed.  iTunes will allow you to edit disc-wide tag info from the Sources window. Click on the CD’s icon while holding down the “control” key. a contextual menu will appear which offers a “Get Info” option. Selecting this will result in a window containing the CD’s info, all of which is editable.



This same method works for getting the info of individual tracks.



Of course, with 9500+ songs to re-encode, I quickly lost patience with this method, as easy as it is, and I began looking for a quicker solution. I turned to AppleScript, and wrote a script which automates the compare and change process (available here for download). Now, I can insert the CD, batch-select the files I’m replacing, and run the script, making the task that much quicker.  (Note: the AppleScript isn’t perfect – if you use it, make sure you double-check the CD track info before encoding. CDSelecting “Advanced:Get CD Track Names” will re-write the CDDB info to the CD. The script also won’t work if the album in your iTunes Library doesn’t have the same number of tracks as the CD.)

If, for some reason, you change your tag info and on clicking “Import”. you are not given the “Replace Existing” option, do not despair. Remember that your old files are still on your computer, so before you remove them from your Library, find out if the songs are in any playlists. You can get this information the same way you got the track info: hold down “control” and click on the song. If the song is in any playlists, a “Playlists” contextual menu item will appear. Selecting it will show you which playlists include the song in question. Having found this out, you’ll want to add the new version of the track to the playlist and put it above or below the old on in the playlist queue.
The best means of doing this is to set your view mode to “Browse” (“Edit:Show Browser” or type “command-b”) .


In the Browser, select the artist and album you’re working on. In the tracks panel of the main browser window, you’ll see that both the AAC and mp3 files are displayed. Sorting by “Kind” will separate them. From there, it should be simple to work with your tracks and playlists.
Once you’ve got your playlist info squared away, make sure you compare the ratings and comments of each track. Having done this, it should be safe to delete the old files. You’ll lose play counts, but other than that, your metadata will be identical.

Working With Libraries in Multiple Locations

One of the downsides of my behemoth music library is the stricture of space. When I initially encoded my files, I was on a PowerBook G3 with a pitifully small hard drive. I bought an 40 GB external hard drive, which sufficed, for a time,  but by the time I upgraded to my current G4 iMac, my collection had grown beyond the hard drive’s capacity. Thus, I currently have 60 GB of music in two locations; most o f it residing on the external drive, and the rest on my iMac’s hard drive.
iTunes will only recognize one folder/location as its default Library location.  The default Library is where iTunes writes files it encodes. This is not an issue for normal operation of iTunes, but obviously, if I’m re-encoding files, iTunes will want to put every new file in its default Library , regardless of its initial location.

iTunes will, of course, allow you to change the location of your music folder. This is done quite easily under the Advanced tab of your iTunes Preferences. Changing the music library location is as simple as clicking “Change”.


So, armed with stacks of CDs, my solution is to organize the discs into two basic piles, corresponding to which drive they currently “live” on. Then pick the pile of music that “lives” wherever your default Library is currently set to, and start encoding. Once you’ve completed that stack, change the Library location, and encode those discs.

The main advantage of AAC over mp3 is overall smaller file size without quality loss, which means that, when you’re done encoding, you’ll have extra room in both spots. You may want to migrate files from one location to another. In my case, I’ll want to fill up the external hard drive, freeing up room on my iMac’s hard drive. But I won’t want iTunes database to “lose” the files. So, I’ll close iTunes, copy the files, open it, and change its Library location to the external drive. iTunes will update its song locations. Then I can change the Library location back, and it’ll update song locations again, resulting in my Library set to the correct folder and my songs all accounted for.

The Best Insurance Policy

Once you’re all done, I cannot recommend making backups enough.  iTunes 4 will make backups to DVD-R ( if you have a Super Drive) or CD-R, but either way, the best way to ensure you don’t have re-rip your CDs before a new, better codec is released is to get the tracks the way you want them and then burn those babies to a CD or DVD.

You should also periodically back up your iTunes Library File. This file is the database that contains all the track information about your songs. Backing this up is as simple as highlighting it in the Finder and selecting File:Duplicate. Should your Library file become corrupted, you have a backup with your playlists and metadata ready to replace it.