If you happen to read my previous post, you might be thinking: what is the hack for cydia, openssh, fugu and jailbreaking. All sound very crippy...
Now, I present you the simplest custom ringtone solution for iPhone. Not sure it has been out on the net or not. Anyway, the procedure I will describe as simple as 1-2-3, and definitely no hacking or jailbreaking involved.
The principle behind is to import your music into iTunes as Ringtones and transfer to iPhone during a normal sync - of course, you have to enable the "Ringtone sync".
Step 1, create music file suitable for iTunes import.
* Find any mp3 file or even wave file you would like to use as ringtone.
* Find an audio editing program which handles aac format on your platform - there are plenty. I am using TwistedWave for Mac OS X, since it is the second hit when I google "audio editor mac aac". It has 30-day full function trial, good enough for ringtone editing, which takes minutes.

* Import the mp3 into the software. Edit it. Make sure the length is less than 30 seconds. I recommend to normalize the audio, to enhance the start if it is weak, and to fade out at the end.
* Save the edited audio as AAC format, which should have an extension like m4a. In TwistedWave, it is kind strange. I have to save as the "MPEG4 Audio" for iTunes to recognize the file, not the "AAC Audio", which ends like aac.

Step 2, import the file into iTunes.
* For example, your file is xxxx.m4a. Rename it to xxxx.m4r .
* Drag the newly named file into iTunes - Ringtone tab.
* Edit the ringtone's metadata informations just like you normally do with other mp3 files.

Step 3, sync your iPhone and enjoy the new ringtone.

It shows in a separated box as the ringtones we uploaded before. The method before is to add ringtones to the system folder, and this time is to add them into a user defined folder. Either way works.
1-2-3, really simple. No more jailbreaking! Enjoy.
thanks, v. helpfull!!
Thanks for writing this tutorial, I used Audacity 1.3b (open source) to convert the files.
this worked for me very well. I believe ever ringtone provider should include such tutorial hehe Thanks for sharing
Has this changed in iTunes 10? It won't let me drag the .m4r into the phone. Have they locked this up again?
Not sure. I am with Android now.
If I remember correctly, last time, I just double clicked the m4r file and iTunes took it by itself