This is the phase vocoder I built for my presentation. It slows things down pretty well. It uses a STFT (Short Time Fourier Transform) to grab a variable number of samples at a time, compute the STFT, and mess with the phase matrix accordingly to change the perceived pitch and playback rate of the original audio. The main thing that is cool here is the Paul Stretch algorithm is implemented which randomizes the phase going back into the STFT so you don’t hear any LFO when you slow things down with an STFT algorithm that accumulates phase. It sounds weird when you don’t slow it down, but that is supposed to happen. I included the max patch in this post, please let me know if you have any questions or want to mess with it at all.
I’ve never seen this done in real time, which is my favorite part about this project. You can create variable slowdown speeds with this, and even freeze the playback if you want which kind of acts like a permanent sustain.
-Garrett