From Zelek Software:
Ringy Dingy allows you to create ringtones for iPhone. You can create ringtones from iTunes tracks and most audio and video files. There are no per-ringtone fees and you don't need to jailbreak your iPhone. You simply drop the track into the program, select the desired audio, and your ringtone will be placed in the ringtones section of iTunes, ready to sync with your iPhone.