First you want to go to ITunes App Store and search for "Create Ringtones!" Download the app, it's free.
Open the app and select "Record Ringtone".
I'm going to be using a YouTube video, but you can use any music that can be played from your computer. Be sure to unplug any headphones so it plays through the speakers.
Enter a ringtone name and press the green check.
Press the circle at the bottom to record at the same time that you begin playing your music on your computer.
Tips: Turn up the volume on your computer to make the ringtone clearer. Hold your phone near the computer speakers & don't make other sounds. It's only 30 seconds; choose your favorite part to record.
After it's recorded, press the green check and go to "Manage Ringtones" on the main menu. Select and then email the ones you have created.
Go to your email on your computer and download the ringtone(s). Drag them into your iTunes Library.
they will be here under tones now.
Under your iPhone, click the arrow to show this list. This is where you drag in the ringtones.
The ringtones will sync and then you can unplug your phone. almost done woot woot!
Under Settings> Sounds> Ringtones you will see your Ringtones to choose from. Hopw you enjoy! Please comment if you have questions :)