How to edit ringtones / system sounds
Update: Apple has provided a new way to create ringtones via GarageBand.
Read this article: How to create custom ringtones in GarageBand 4.1.1.
Creating ringtones is a pretty easy thing to do if you have a little patience. I will show you how
to do this using a free program called Audacity.
Step 1. Download Audacity here.
While you are at this page, download the LAME MP3 encoder. This will allow Audacity to export to
MP3 format. Once you've installed Audacity and started it you'll see this screen.
Now unzip the LAME MP3 encoder. You'll see there is a .dll file in the program
folder. Copy this file to the C:\Program Files\Audacity folder.
In Audacity, click "Edit" and select "Preferences".
Go to the "File Formats" tab. Go to the section labeled "MP3 Export Setup". Click on the "Find
You will then be prompted to locate the LAME encoder. Click "Yes".
Navigate to the lame_enc.dll file, which should be in your Audacity program folder. Highlight the
file and click "Open".
Back in the "MP3 Export Setup" section, you now have the ability to set the bit rate of the exported
MP3 by clicking on the "Bit Rate" drop down box. The default bit rate is 128 kbps. A higher
bit rate gives you higher quality at the expense of a larger file size, and vice-versa. A 128 kbps
bit rate takes up about 1 MB of space per minute. Click "OK" when done.
Now it's time to import the audio file that you want to make into a ringtone.
Click "File" then select "Open".
Navigate to the file you want to use, highlight it, and click "Open".
Audacity will give you a progress bar while it imports your file.
You will now see what your file's waveform looks like. The taller a particular section, the louder
that portion of the wave form. A flat line represents silence.
Zoom in on the waveform so you can better set the in and out points for editing. The CTRL and the 1
keys zoom in. Go to the "Selection Tool" in the top left of the program window.
This next part could take a lot of trial and error. Using the selection tool,
click in the waveform where you want your ringtone to start. A black line appears to mark the spot
you clicked (around 8.5 in this picture).
Pressing the space bar will start playing the music file from the place where you clicked with the
selection tool. This is the in point of your ringtone. If it's not quite where you want it,
you can fine tune the in point using the left and right arrow keys, then use the spacebar to check
your in point. Once you have found the perfect in point, you need to delete everything to the left
of the in point. Move your mouse to the black line and a hand icon will appear. Click and drag to
the left and click the delete key to eliminate the unwanted part of the music file.
Now find your out point by using the selection tool. Click where you think it is.
Now click and drag to the right of your out point to delete everything that occurs after the out
point. Press the delete key to eliminate the unwanted part of the music file.
If you are making a loop (which I am), hold down the shift key and click on the Play button at the
top of the program, and it will play your selection back as a loop so you can hear if the edit
points you made are clean. Keep in mind, the iPhone will not play the loop back seamlessly. There
is a one second pause between rings.
If the ringtone sounds good, you're lucky you got it the first time. If it doesn't sound good, you
need to use the zoom in button and get up close and personal with the waveform. Then using trial and
error, drag and click and then delete to remove portions of the music until your edit point becomes
cleaner or unnoticeable. If you delete too much, use the undo feature.
Once you are satisfied, click "File", then select "Export as mp3".
For whatever reason I couldn't just use the mp3 file I saved from Audacity and directly upload it to
the iPhone. Since Audacity only allows for changes in bit rate, I decided to convert the mp3 into an
AAC in iTunes.
Import the mp3 into iTunes (you can just drag and drop it into the library).
Right click the mp3 and choose "Convert Selection to AAC".
Now just use WinSCP to upload the ringtone to /var/root/Library/Ringtones.
I'm sure someone will ask, so here is the loop I made.