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:Implementation | Result | Time (first half) | Time (second half) | Rate (second half) | Chris@3:
---|---|---|---|---|
Nayuki | Chris@3: | |||
Nockert | Chris@3: | |||
Dntj | Chris@7: | |||
Cross | Chris@8: | |||
KissFFT | 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: