Check this post. I got this from macrumors.com... Apparently iRingtoner and all others are dead
as from macrumors.com . . .
-----
Since the original instruction is a bit light on details. Here is everything you need.
1. Convert the song you want to use as a ringtone to AAC 128kbps. OR if it is already in this format, duplicate it. Then, in iTunes, add an additional item to the title in the duplicate or new AAC (I just put "(ringtone)").
2. Drag the file onto your desktop. Click Apple+I (or right click get info). Change the file name from .m4a to .m4r. When asked if you want to change the extension, select "Use .m4r". Also change the file name to what you want it to show up as on your phone. For example, by default it will be "(song track number) (song track title)." I deleted the song track number.
3. Edit the file in another program. I have sound studio which is pretty easy to edit an AAC file and add a fade in/fade out. There is obviously a size limit on the file, but I don't know what it is. I usually edit the song down to about a 20-30 second clip and save it.
4. Drag the file into iTunes. Since the "Ringtones" feature isn't completely enabled yet, it won't show up anywhere in your Library, but once you Sync your phone, the ringtone will show up in a list under the "Ringtone" tab. You can manually delete the file from the Home > Music > iTunes > iTunes Music > Ringtones, but this won't delete it from iTunes. For that you will have to re-create your iTunes Library which will reset all play counts and dates added (I think). So just deal with the extra files.
5. After that, Sync it with your phone. If it doesn't show up on your phone, the problem seems to be that the file size is too large. Edit it down and try again.