From the original SynthMaker forum (2004–2014), with its members’ names and dates.
unkargherth ·
Hi all
Since the iFFT module appeared in SM, I dreamed to produce a "lot of bands vocoder" with a nightmare of options in SM
But once i Put my brain to work , i find again and again, that something rotten inside my head doesn't allow me to get the conceptually correct design
THe basic idea consists on two FFT modules, one for the modulator and one for the carrier. Then do an iFFT using the phase array from the carrier and the magnitude array from the modulator. Later you can add all sorts of trick to the sound ( band/bin displacement,etc)
Is this correct ? could somebody provide a very basic working example for it ? I tried very hard and only get an horrible LF noise
TIA
MyCo ·
Let's say your carrier has 5120 samples and your modulator, too
You have to split carrier and modulator into segments of let's say 512 samples, you end up with 10 segments for carrier and 10 segments for the modulator.
Then generate a FFT on every segment.
Now you have 10 spectra(Array C) for carrier and 10 spectra(array M)for the modulator.
Now apply the vocoder functions eg. multiply each spectrum of C with each spectrum of M and you end up with a new array.
now normalize each entry of the resulting array.
Generate iFFT on each element of the resulting array
Connect the results together...
To avoid clicks you propably need to apply windowing functions on the segments before you do FFTs
Actually it's not so easy, especially when carrier and modulator have different lengths. And in realtime it's actually impossible because S|M doesn't support this.
Wrote something here? To have a post removed or your name hidden, write to [email protected].