iTune lets you create your ringtones from only songs purchased from iTune Store. There is an article on StopGeek.com that tells you how to make your own ringtones for free using just iTune. Here is the link.
I followed the instructions and ran into some problems initially. My first problem was that I made the ringtone too long. Remember that you have to make it 30 seconds or shorter. The second problem is that I did not understand the instruction step 10: “Put the file on your iPhone”. It turns out, you still use iTune to sync the ringtone back to iPhone.
After you converted the music file to AAC file. Rename the file extension to .m4r. If the ringtone still shows under Music. Delete it. Click on Ringtones and add the ringtone file to it.