Since I have been using Ableton Live (http://www.ableton.com), I am slowly learning many things I didn't know how to do before. One of the mysteries to me is how DJs are able to make smooth transitions between unrelated songs. Beats and pitch can differ, but somehow they manage to mix them together. I still don't know how they do this with turntables or CD's, but at least I now know how I can do this in Live.
In fact, it is too simple... When you load a song, Live tries it best to come up with the correct analysis of the tempo, creating Warping markers. These markers will point to correct position of the measures and beats and then the whole warped song can play in synch with the current tempo. You can drag warp markers around, correcting errors in the automatic analysis or even warp manually. The important thing is getting the start and end position correct and counting the correct amount of measures.
I have tried this a few times now and it works fabulous. And once a song is correctly warped, you can create multiple clips or loops out of it. The first clip is usually an intro loop, before the singing begins, which can be used to fade the song in. The second clip starts after the intro loop and then you have the song (or a part of it). It is best to have it end in a loop as well, so at some point (coda or bridge or chorus), the song keeps looping. Then you can crossfade to the next song. Nice.
I've played around with some simple songs (modern dance music is very easy, since it is recorded with a steady continuous tempo). But I've managed to get a reasonable warped version of "9 crimes" (Damien Rice), which is actually not strictly in tempo. I was able to mix it through "Beautiful" (James Blunt), which gave a problem, since there are some 2/4 measures and Live cannot cope with time signature changes... I'm not posting the result here, because of copyright issues, but I expect to use the mixing more and more in the future.