I am trying to combine a spectual FX like a spectual morph with a pitch shift (or time stretching) together. Do I need two separate auxiliary tasks for each fft task?
Multiple FFT Processing threads
If they have different step size they should each go into its own thread. If they have the same step size you may save a tiny bit of CPU time by putting them in a single thread.
giuliomoro Hi giulio, thank you for the reply. What I'm wondering is that how could Bela hande two calculations of fft in the same time in one thread. Or, is that simply doing the fft for cross synth first and forget all the numbers, and then the same thread does the fft for phase shifting.
Keyi s that simply doing the fft for cross synth first and forget all the numbers, and then the same thread does the fft for phase shifting.
something like that. Say you have a function doCrossSynth()
and one doPitchShift()
. If in the same thread, they'll be:
void myOneThreadFunction()
{
doCrossSynth();
doPitchShift();
}
if you have two threads, it would be:
void firstThreadFunction(void*)
{
doCrossSynth();
}
void secondThreadFunction(void*)
{
doPitchShift();
}
Point is there is only one core, so there is no additional parallelism advantage from using two separate threads unless you have to (because of the different step size).