This is what worked for me. Let me know if there is a shorter way.
- Install the LAME library from http://lame1.buanzo.com.ar/
- Install Audacity, a sound editor from http://audacity.sourceforge.net/download/
- This need only be done once per Mac.
- Import your desired song
- Edit a clip to 30 seconds or less
- Select the sound before it and delete
- Select the sound after it and delete
- Export (all) it to mp3 file
3. Garage Band
- Create a new project as a ringtone
- Drag the mp3 file from Finder to the left pane of tracks
- Select the sample track (if any) and delete track
- Adjust the yellow bar at the top of the tracks to match the length of your track, or longer if desired.
- Share / iTunes
- Save and exit
- Sync ringtones to your iPhone
- New ringtones should appear in General / Sounds
For a Droid, one only needs to export an OGG file from Audacity and copy it to the Ringtone directory on the Droid. No Garage Band nor iTunes (equivalents) are required. Everything is easier on a Droid.