Load up GarageBand, and from the main entrance screen, click the iPhone Ringtone category in the options panel on the left.
A selection of ringtone templates should appear to the right. Double-click the template you want to use. Alternatively, single-click it, then hit Choose.
Type a name for your project. If you know them, you can also set the project tempo, key and time signature from here. If not, you can change these later on.
Click the Create button and the project opens, showing the project timeline, arrange area and a single track, containing a sample audio region.
Click the audio region and press Backspace to delete. Drag and drop your desired file from Finder to replace it. This will form the basis of your ringtone.
Drag the ends of the yellow cycle region in the beat ruler until they encompass the part of the project you want to use. Ringtones can be up to 40 seconds long.
To perfect your loop, make it easier to spot edit points by zooming in close with the zoom slider and begin fine-tuning your start and end points.
When you’re ready, choose Send Ringtone to iTunes from the Share menu. The new ringtone will be in the Tones section of your iTunes Library.
Plug in your phone and click the Tones tab in iTunes’s sidebar. Drag your new ringtone and drop it on the name of your iPhone under Devices.
Click Image to Enlarge: