mobile17.com is free and they also take donations.
You just have to register.
You pick what type of phone you have. You upload a song from your computer and pick where you want it to start and how long you want it to last for.
http://www.jimmyr.com/mp3.php is a website that filters google searches to only have the mp3 song file you can download directly from google. No torrents or anything. You upload the song to mobile17 and pick where the ringtone starts, and for how long it will play.
It sends you a text, you have to go online via your phone and it's browser, follow the instructions from the Text and you DL your ringtone. Depending on your multimedia package with your phone carrier this could be free or however much it costs you to connect to the internet.
http://www.personal.psu.edu/users/n/...ce%20Theme.mp3
That's the file DL I used for my ringtone. It starts at .17 in and plays for 30 sec. The song is really quite, but mobile17 boost the volume pretty well...