Chris@3: Chris@7: Chris@7: Chris@3: Chris@1: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@7: Chris@7: Chris@8: Chris@8: Chris@3: Chris@1: Chris@7: Chris@3: Chris@2: Chris@3:

Results

Chris@1: Chris@3:

Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@3: Chris@7: Chris@7: Chris@8: Chris@8: Chris@3: Chris@3:
ImplementationResultTime (first half)Time (second half)Rate (second half)
Nayuki
Nockert
Dntj
Cross
KissFFT
Chris@1: Chris@3:

Notes

Chris@1: Chris@3: Chris@3: Chris@3:

Rationale

Chris@1: Chris@3:

If 2150 iterations of real-to-complex FFT of size 2048 takes less Chris@3: than 10 seconds, then we may be able to make a high quality Chris@3: real-time phase vocoder (just).

Chris@1: Chris@3:

A phase-vocoder of course must use overlapped windowed FFT Chris@3: (although you can choose the size, within limits), IFFT, and Chris@3: cartesian-polar conversion to calculate the phase for the Chris@3: instantaneous frequency.

Chris@1: Chris@3:

A reasonable estimate of CPU cost for the whole thing is Chris@3: somewhere around 10x the cost of simple non-overlapping short-time Chris@3: forward Fourier transforms across the signal.

Chris@1: Chris@3:

2150 iterations corresponds to 100 seconds of audio Chris@3: non-overlapped at 44.1kHz, so if that takes less than 10 seconds, Chris@3: then in theory we might be OK.

Chris@1: Chris@3: Chris@1: