First of all, the short explanation. Get an audio file that's under 39 seconds, make sure the ID3 tag is "Ringtone", sync it to your Windows Phone device with the Zune PC software, and select it as the ringtone.
And now, the slightly longer version!
You're going to need something to edit the audio into a ringtone. You might already have something kicking around your hard drive that's already in MP3 format, or have a suitable sample downloaded. Let's take this and edit it to make it less than 39 seconds long, and under 1MB in size, while converting it to an MP3 file if needed.
The easiest way to do this is to grab the free open source audio editor Audacity (available at Sourceforge) and install this on your computer. You will also need to download the LAME MP3 plug-in. Follow the instructions to get these installed, open Audacity, and then drag your audio file into the empty window. A few moments later and a wave-form will be on show.
Now there's a lot you can do it edit this waveform, tweak the bit-rate and sampling frequency, but it's unlikely that with the standard MP3 settings your file size is going to over the 1MB limit. The quickest way to get your tone is to highlight the part of the sound sample you want as your ringtone, then go to the File menu and select "Export Selection as MP3".
Unfortunately, you might not have "Ringtone" as a genre available in Audacity's drop down menu. Don't worry about that, we'll fix that when we get the MP3 file in the Zune PC client, which you can do now with a quick drag and drop of the file from Windows Explorer onto the Zune desktop.
Find the audio file in the Zune Desktop, and right click it to bring up the Edit menu. Double check the Song Title is what you want to see on the device, and change the Genre to "Ringtone" and save those changes.
Sync this file to your Windows Phone in the usual way (right click and "Sync to [device name]" should do it) and the work on the PC is done.
Pick up your Windows Phone device, and head for the Settings application. In there, go into the top option "ringtones+sounds" and tap the top text choice box marked Ringtone. At the very top of the list, all the custom ringtones will be listed. Choose your own ringtone in the usual way, and you can delight the world with whatever audible torture you prefer.
I'm away to port over the new Nokia dubstep ringtone, what about you?
-- Ewan Spence, Oct 2011.