How to create custom iPhone ringtones on Mac for free?

Apple has introduced a simple and free way to create and sync your own custom ringtones to the iPhone using GarageBand (i.e., Mac only). The first thing you'll need to do, if you haven't already, is download and install the latest update of GarageBand from Software Update. Once you've installed and restarted your computer, turning any song on your computer to a ringtone is a breeze. Here's how it works.
1. If you're using a song from your iTunes library, just open GarageBand, open iTunes, and simply drag and drop the song from iTunes to a new track in GarageBand.


2. Now click the Cycle Region button pictured above, which will activate the region loop tool.

3. Now adjust the length of the region to the section of the song you want to export to iTunes as a ringtone (40 seconds long or less), again as pictured above.
4. Finally, when you've got everything set the way you want it, just go to the menu bar and click Share -> Send Ringtone to iTunes. GarageBand will automatically convert the song to the proper format and sync it to your iTunes library as a Ringtone.
Simple, no? Likewise, if you prefer to create ringtones of your own music, just build your own tracks in GarageBand and repeat steps two through four.
If you want to create ringtone from DVD or your own videos, you need extract audio from DVD and videos. And then use the above methods. Here are guides for you:
How to extract audio from DVD on Mac ?