Resident is one of my favorite processors
here. The original phase vocoder enables
you to alter duration without affecting
pitch, but the stretch/shrink factor is fixed.
Resident enables arbitrary speed and direction
of time evolution, without modification of
pitch. Resident stores an entire phase vocoder
analysis of a sound in memory, and pirouettes
all over the data according to a user provided
control function which is interpreted as 
instantaneous lookup position into the
analysis, where 0.0 is scaled to the
first analysis frame and 1.0 is scaled to
the last analysis frame. What transpires
in between is up to you. 

resident:  pvoc data surfing
resident   [flags] < floatsams > floatsams
        N:      fft length [1024]
        R:      sampling rate [44100]
        M:      window size in samples [4096]
        I:      interpolation factor in samples [512]
        f:      lookup control function [func]
        i:      duration of input [undefined]
        o:      duration of output [undefined]
        O:      time offset for function [0.]
        s:      floor for rescaling control function
        S:      ceiling for rescaling control function

I have found it useful to resynthesize using
the same function, with an offset and then create
a stereo file using both resynthesized files. 
Create phase vocoder canons. You can hear this
effect in my recent composition BUTTER (1994),
but you'll have to ask nicely. You may also scale
the size of the region of analysis data the control 
function operates on, using the -s and -S flags.

Resident only operates on analysis data
so you will have to prepare an analysis file
with pvanal:

genre_splice> fromsf -H old_cliches.snd | pvanal -D512 -q > old_cliches.i

then fire it up:

genre_splice> resident -i10 -o10 < old_cliches.i | tosf -R44100 new_complexity.snd

Note that you must use the -q flag, as resident uses the
full-on phase-vocoder, not just the short time FFT.
