[chuck-users] Time-stretching without changing pitch

Nuno Godinho user at nunogodinho.com
Sat Apr 26 20:23:19 EDT 2008


For a video installation I need to create a module to do interactive
time-stretching without changing pitch. This will use a WAV file as input
but the speed will change interactively based on an OSC parameter. But to
make it simpler let's say the playback speed depends on the mouse speed.

I understand there are two ways to achieve this: FFT and Granular Synthesis.

The granular synthesis example that comes with Max/MSP almost does this
out-of-the-box, but I would like to try to avoid and use ChucK instead. But,
even though I've read the manual and understood some of the examples, I'm
still very Chuck-ignorant and have no experience whatsoever.

Since now ChucK is able to do FFT I was wondering how easy it is to
implement this on ChucK using FFT. On the other side, some documentation
I've read on time-stretching suggests that the simple FFT process creates
lots of artifacts and there has been a lot of research on this and several
improved methods were proposed. This scares me because I would like to melt
my brain learning all the details, since that Max/MSP patch already does
something quite close to what I need.

Has anyone done (or knows how to do) time-stretching on ChucK? Should I go
for FFT or Granular Synthesis?

Any help is welcome.

Thanks in advance!

More information about the chuck-users mailing list