One of the many appealing features of Apple’s iPhone is the ability to make custom ringtones. However, as with most things Apple, there is a an official (and limited) way of doing things, and an unofficial (and much more fun) way of doing things.
Officially, if you want to make a ringtone from a song in your iTunes library, you have to purchase it as a ringtone. This is enforced for DRM’ed purchases from iTunes, and not all songs can be purchased as a ringtone.
However, if your songs are not DRM’ed, either because you ripped them from CDs, bought them without DRM, or they came from another source, then you have a much better option for making ringtones.
Download and install the free, Open Source package Audacity (you will need the latest 1.3.6 version). Audacity is a very flexible program for editing audio files. The latest version includes support for a software package called ffpmeg, which lets you import and save audio files in multiple formats.
Run Audacity, and use it to open the song (or any audio file) you want to turn into a ringtone for the iPhone. Select a 30 second (or less) segment, and use the Trim command to cut out the rest of the song. Use the slide tool (little double-headed arrow in the toolbar) to slide the trimmed segment to the beginning of the project. You can select a short segment at the beginning and end of the song, and apply a Fade In or Fade Out effect. Listen to the song by using the playback controls on the toolbar, until you have something you like.
Once you’ve gotten everything the way you want, you can export the song as a ringtone. To do this, go to the File Menu, and select Export… In the resulting dialog, choose AAC as the file type. When you click Save, you will have the option to modify some information about the ringtone. Change the “Name” field to reflect what you want to appear in your iPhone’s Setting menu. After this, Audacity will save your ringtone.
Find the file, and rename it so that its extension is M4R, not M4A. (On a Mac, you may have to use the Get Info dialog in the Finder to do this.) You can now import the file into iTunes, where it will be recognized as a ringtone. Plug your iPhone into your computer, select it in iTunes, and use the Ringtones tab to select the ringtones you want to transfer.