How do I set music as a ringtone for a contact?
The music you want to use needs to be in a folder that is accessible from the ringtones dialog, likely a folder called ringtones, or notifications. Ideally, the music clip should be 20-30 seconds in length.
There are a number of apps and programs that will allow you to edit music files to get the 30 seconds you want to use - I've used a few that have come and gone, I've made my own and uploaded them via USB, and I currently use Zedge to upload a song, edit, and then send it to my phone where I can save it to the correct folder to access it as a ringtone.
ZEDGE™ Ringtones & Wallpapers - Android Apps on Google Play
Depending on your model of phone: go to that contact in your contacts book. Select them. Tap edit button. Scroll down to Ringtone. Select ringtone. Save.