[music-dsp] Real time variable time stretching

2014-08-19 Thread Daniel Varela
Hello to the list! I am working in a time stretching effect using a standad phase vocoder approach. Basically I have an input parameter to control the time stretch ratio, which can change in real time from 0.5 ( sinthesys hop size = 1/2 analysys hop size, x200% original time stretch) to 2.0 ( sin

Re: [music-dsp] Real time variable time stretching

2014-08-19 Thread Ethan Duni
Maybe I'm missing something obvious, but shouldn't the filter bank itself be constant? I.e., no change in the overlap or windowing. The time stretch/compression is obtained by extrapolating/interpolating the analysis parameters, not by shifting around the synthesis filter bank relative to the analy

Re: [music-dsp] Real time variable time stretching

2014-08-19 Thread Daniel Varela
Thanks for your quick reply Ethan. Indeed I was missing some relevant information on my first email. I am using the FFT / IFFT approach instead of the filter bank one. So I made my FFT frame size and analysis hop size fixed, achiving time stretching by changing the synthesis hop size by the time s

Re: [music-dsp] Real time variable time stretching

2014-08-19 Thread Alessandro
completely the problem with a small number of extra operations compared to the fft/ifft. Best, Alessandro -Original Message- From: "Daniel Varela" Sent: ‎19/‎08/‎2014 23:49 To: "A discussion list for music-related DSP" Subject: Re: [music-dsp] Real time variable time st

Re: [music-dsp] Real time variable time stretching

2014-08-19 Thread Ethan Duni
It's been a while since I've thought about phase vocoders, and I've never gotten real hands-on in building a time stretch algorithm, so let me make sure I understand what you're doing: On the analysis side you've got a fixed frame size and a fixed hop size. On the synthesizer side, you have the sa

Re: [music-dsp] Real time variable time stretching

2014-08-20 Thread Joel Ross
The classic Phase Vocoder algorithm integrates the phase difference between successive analysis frames to produce the phase component in the synthesis frames. No explicit interpolation is needed. This is not the same as results achieved by time domain methods. It seems that reconstruction is never

Re: [music-dsp] Real time variable time stretching

2014-08-20 Thread Ethan Duni
> The classic Phase Vocoder algorithm integrates the phase difference > between successive analysis frames to produce the phase component in > the synthesis frames. No explicit interpolation is needed. To do time-stretching, you then have to multiply that unwrapped phase by the ratio of the hop si

Re: [music-dsp] Real time variable time stretching

2014-08-20 Thread Daniel Varela
Sorry for the late reply, long day at work... Alessandro, working in a sample by sample approach in order to remove the overlap add distortion is brilliant. Since I can compute the extact distortion introduced, it would be possible to remoe it from the output signal. Will try that and share the re

Re: [music-dsp] Real time variable time stretching

2014-08-20 Thread Joel Ross
Hi Daniel, I have been playing with precisely this scheme recently so I went back to my code and had a look at the reconstruction. As you say, in the ideal case, the windowing is completely transparent and if you skip the fft and related steps you will achieve a 'perfect' sample for sample reconst