I just got an iPhone and switched to AT&T after five years on Verizon Wireless. Don’t get me wrong – I really liked Verizon. It’s just that I left my previous employer several months ago, and I knew that resigning a contract meant they’d validate my employment status, realize I was no longer employed there, and cancel my 20% discount.
Fortunately, I discovered that Purdue has a deal with AT&T, so I was able to get 20% off both the voice and data portions of my wireless plan. I knew I wanted a smartphone, and after playing around with the options, there was no denying that the iPhone beat the competition in usability, speed, and general awesomeness.
After I bought my 60GB iPod Photo in 2004, I swore up and down that it was the last Apple product I would buy new – yet here I am, with a shiny new iPhone. So sue me…things change.
Anyhow, I’m big on hacking and tweaking my stuff. My last Verizon phone was a Motorola V325, and I hacked the hell out of it to make it work how I wanted. Naturally, I jailbroke my iPhone within 24 hours of my purchase, so that I could better customize stuff like sounds and the UI.
I’ve been using one of the themes from Super Mario World for the past five years on each of my phones, so I knew I wanted to upload it to my iPhone. Turns out that adding ringtones takes a little work, but it can be done – for free, and with free software. iTunes will only let you create ringtones from songs you’ve downloaded from the iTunes Store. I’m going to show you how to create ringtones from any audio file, whether it’s WAV, MP3, AAC, or anything else.
First off, you need Audacity. This is a free, open-source sound editor that’s been around for awhile. You want to make sure to get the latest beta version, as it includes support for exporting to AAC (.m4a) format. Once you have Audacity, you also need to get the ffmpeg libraries, which will support exporting to multiple formats (including AAC). If this link is dead, try the version here.
You’ll notice that the file format of the downloaded libraries is a little odd (the second link will take you to a .7z version) – if you don’t already have it, 7-Zip will allow you to extract the files. Once you have the files extracted, copy them into the Plugins directory of your Audacity program folder – it should be something like C:Program FilesAudacity 1.3 Beta (Unicode)Plug-Ins.
If you want to make MP3 ringtones for phones other than the iPhone, you need the LAME libraries, available here.
Now you can load up Audacity (it’s in your Start Menu once you’ve installed it). The first thing you need to do is tell it where the ffmpeg libraries reside. Click the Edit menu, and select Preferences. Go down to Import/Export, where you’ll see a box about ffmpeg in the top left corner:
Click Find Library, and browse to the Plugins folder where you extracted the files. You’ll see that a single dll appears – click it, and click Open. You’ll now see something like this:
Now that Audacity is set up for exporting to AAC, we can start making our ringtones. It’s pretty screenshot-heavy, so click the jump to see the rest.
First, find a song you want to use for your ringtone. For this example, we’ll be using “Never Let You Go” by Third Eye Blind.
Your ringtone should be no longer than 40 seconds, so we’ll use Audacity to select a portion of the song. To open a file, either drag it into the Audacity window, or use the File > Open command. When you import an MP3, Audacity will automatically convert it so you can edit it:
Once it’s done importing, click the play button to start playing your song. Watch the vertical progress line to see where you want to crop down the track. For instance, I wanted to only use a part near the end of the song, rather than just the first 40 seconds of the track. The progress bar is a vertical line with an arrow at the top:
Once you’ve figured out what part of the song you want to use, highlight it with your mouse. If you need to be more precise, use Ctrl+1 to zoom in. You can see here the dark gray selection highlight from 0 to 25 seconds:
Once you’ve selected the portion of the track you want to use, copy it (Ctrl+C), open a new file (Ctrl+N), and paste it in (Ctrl+V).
You probably don’t want your song to just abruptly cut off, so you can fade it out at the end. Select the last five or ten seconds or so of the clip, and go to Effect > Utility > Fade Out.
You’ll see the selection taper off as the volume decreases. You can reapply this filter if you want it to fade out even more. Once you have your song edited how you want, you can export it to AAC. Just go to File > Export and select M4A (AAC) Files (FFmpeg) from the “Save As Type” drop-down:
Save your file. You’ll want to remember where you put it, so that you can import it into your iPhone.
iPhone ringtones are actually just M4A files with a different extension. Find your file in My Computer or Windows Explorer, right click on it, and click Rename. Change the file extension to .m4r. You’ll notice that the file type in Explorer’s detail view calls it a Ringtone:
Now, just drag the file into the Ringtones section of your iTunes library.
Assuming you already have iTunes configured to sync with your iPhone, you can now just drag the newly imported file onto your iPhone, and it will sync and be available in the ringtone selection preferences pane.
If your song seems a little distorted when your ringer volume is at maximum, you can try dropping the overall volume by a few decibels, using the Normalize utility under Effect > Utility > Normalize:
There’s no real magic number; it’s just a matter of trial and error to figure out what sounds best to you.
Getting MIDI files into the proper ringtone format takes a little more effort – I’ll show you how to do that next time!