This page describes how to add custom ringtones to a WP 8 device, but it's not very convenient to plug the phone to the computer every time I want to do this, especially when the music I want to use is already on the phone. Is there a way to choose a ringtone directly from the phone's music library? Or perhaps an app to do it?
There is a Nokia-exclusive app to do this: http://www.wpcentral.com/nokia-releases-exclusive-windows-phone-app-ringtone-creation
If the ringtone is already on the phone, try this page....
If you need some new ringtones, there are a few free apps in the store that provide some pretty cool ones. I won't plug them here, but they aren't hard to find.