NOTE: I do not want to jailbreak my iPhone.
Well the good news is, there is DEFINATELY no need to jailbreak your iPhone for this.
Here is what I've always done for creating my own ringtones.
If a song was boughten off of iTunes you can:
-usually create a ringtone through iTunes. (Unfortunately they charge an additional dollar each time...)
If your song is not a protected AAC file then you can:
1) select the song you want to make into a ringtone
2) right click (control click) and go to get info
3) Click the options tab
4) now decide what portion of the song you want to have as your ringtone and edit the start time and stop time to play the part of the song you want to use.
Hint: A good 30 seconds of a song is all you will really need/get to use for a ringtone
5) Once you have the start and stop time set (for example...start time 0:31...stop time 1:01) you can click ok and exit the menu.
6) Right (Control) Click the selected song again and this time click "Create AAC Version" (iTunes will now take the 30 second clip and create a seperate song/file out of it)
7) Right (control) click the new song created and go to "show in finder"
8) The finder will now show you where the song file is located.
9) Take the file and drag it out onto your desktop
10) once the file is on your desktop, go back into iTunes and delete the new song that you made (the 30 second clip...NOT your original song!)
11) Go to your desktop and click on the file. Change the file type to m4r (instead of m4a or whatever file type it is)
12) Once the song is in m4r file format, simply double click the song and it will open back up into iTunes under the ringtones section.
13) Vwalla! You have a custom ringtone...best part is....it was free!
You can do this with as many of your songs as you like. Only catch is that you cannot do it with a protected file (Practically any song you buy in iTunes unless you buy a iTunes plus version).
This may be confusing and seem a little long, but if you slowly read through these instructions and learn to create ringtones this way, you can save alot of money and have fun creating your own ringtones!
I've been doing this for a while now and it works great...
Let me know if you have questions, comments or concerns!
iHarrison