So Apple reversed a bad decision they made awhile back, and have now made it super-easy for Mac users to create custom ringtones for their iPhones. The "fix" comes in the form of an update to the Mac program Garage Band, which is a killer tool for loop-based music making and multitrack audio recording and editing. A Garage Band update issued yesterday adds one touch "Send Ringtone to iTunes" functionality, which lets you designate a section of your composition - up to 40 seconds in length - for use as a ringtone. Apple's software then exports your loop and imports it to iTunes for easy synching with your iPhone.
I just tried it, and it works as advertised. There's a warning about using copyrighted material, and you can't use songs you've bought from the iTunes Music Store (protected AAC files), as Apple provides a separate, pay-per-use solution for purchasing customizable ringtone tracks. But if you're like me and have a bunch of unprotected mp3s that you've ripped from CDs or purchased from eMusic and other sources, you can easily import, edit, and export those songs for use as custom ringtones on your iPhone. It's about time!
See Apple's own step-by-step tutorial from here.