This method only works with songs that are DRM free
Create free ringtones for your iPhone using only iTunes and songs you already have on your computer. This method has been tested and works with iTunes 7.7.1 and iPhone 2.0.1 firmware.
1.Right click on the song you are going to make into a ringer and select “Get Info.”
2.Go to the options tab and go down to the “Start Time” and “Stop Time” check boxes. Check both boxes and input the time you want your ringer to start/stop. The ringer has to be 30 seconds or less. Click OK when you’re done.
3.Right click on your newly “clipped” song and select “Convert Selection to AAC.” The song will be re-encoded using the start and stop times determined (If your menu item does not read “Convert Selection to AAC” and reads “Convert Slection to MP3″ (or some other format) please go to iTunes > Preferences > Advanced > Importing and change the “Import Using” drop down menu to “AAC Encoder”).
4.After the song is done encoding navigate to your iTunes Music folder, locate your song, and drag it to your desktop. After the song is on your desktop go back to iTunes and delete the clipped version from you iTunes library (It won’t delete it from your desktop, it will only remove it from iTunes).
5.Go back the song on your desktop and right click on your song and chose “Get info.” Go to the name and extension section and change the extension from .m4a to .m4r (or you can just change the extension right from your desktop)
6.After the extension is changed simply double click on the file to add it to your iTunes library under the ringtones section. Sync your phone with iTunes and you’re done