The most common way to do this is through granular playback. There are other methods, like spectral transformation and delay line manipulation. I suggest you search the forum for the following keywords: timestretch, pitchshift, granular synthesis, granular playback.
Then choose a method which appeals to you and get back to the forum.
Look for externals that do the job for you, like grainstretch~ and sugarsynth~. Try maxobjects.com, using the keywords above.