Hi all i made a vocoder which spectrum is borrowed from an FM synth and the amplitude is from the line lin through an adc~. I have not been able to make it work completely in realtime. I´ve tried some stuff and it´s still with latency. How can i make it work real time? (my soundcard is an m-audio firewire 4-10)
what ive tried: Basicly i have used the audio configuration and placed the latency value to 0:seems to mess up the dsp and work bad. The lowest latency i´ve got to achiev without damaging the audio is 50 ms. The vocoder process i borrowed from one of the FFT examples included in PD extended. I have tried to change the settings of the block~ object in the subpatch that does all the vocoder+fft processing, but still nothing.
can anybody give me a hint and also refresh the relationshib between block~ and all the fft process being made there?
thankz!
daniel
Hi Daniel~
It sounds like you're trying to use the phase vocoder, which is a bit different than the Kraftwerk-style vocoder. I may be wrong about that. But you shouldn't have to use a FFT to do vocoding in this style.
The traditional vocoder model takes a bank of tuned bandpass filters to detect amplitudes across the modulator spectrum, and then use these amplitudes to drive another set of bandpass filters to shape the spectrum of your carrier signal.
Tom Erbe of UCSD has a nice example patch that will probably be more of what you want to do. You can download it here: http://music.ucsd.edu/~tre/171/w8a-vocoding.pd , and see more cool things from the course that he teaches at his site: http://music.ucsd.edu/~tre/ .
BTW, the reason that you must use certain blocksizes for FFT work is that the FFT actually operates on signal vectors, transforming a fixed-time amplitude vector into a fixed-time frequency vector. You could do a FFT on a 64-sample signal vector (Pd's native blocksize), but its resolution would be pretty crappy, so that's why its better to use a larger block size. (This whole concept is actually the root of the Heisenberg Uncertainty Principle [http://www.newtonphysics.on.ca/HEISENBERG/Chapter3.html], since better time resolution gives worse frequency resolution, and vice versa.)
I hope that helps!
~Kyle
On 9/15/06, mami music mami.music@gmail.com wrote:
Hi all i made a vocoder which spectrum is borrowed from an FM synth and the amplitude is from the line lin through an adc~. I have not been able to make it work completely in realtime. I´ve tried some stuff and it´s still with latency. How can i make it work real time? (my soundcard is an m-audio firewire 4-10)
what ive tried: Basicly i have used the audio configuration and placed the latency value to 0:seems to mess up the dsp and work bad. The lowest latency i´ve got to achiev without damaging the audio is 50 ms. The vocoder process i borrowed from one of the FFT examples included in PD extended. I have tried to change the settings of the block~ object in the subpatch that does all the vocoder+fft processing, but still nothing.
can anybody give me a hint and also refresh the relationshib between block~ and all the fft process being made there?
thankz!
daniel
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list