[Clam-devel] Awesome tonal analysis speed up by using fftw3
David García Garzón
dgarcia at iua.upf.edu
Wed Apr 25 02:25:51 PDT 2007
Thats something i should have done a long time before. Tonal analysis was
using a very bare numerical recipes fft implementation. I just changed it by
the fftw3 and the results are awesome.
Processing 2000 frames with previous fft implementation (GCycles):
128.77 <- FFT
9.56 <- ConstantQ (reference)
140.7 <- Full TonalAnalysis
Processing 2000 frames with ffw3
21.72 <- FFT
9.6 <- ConstantQ (reference)
32.3 <- Full TonalAnalysis
So that means almost a 25% of the former time! (400% speedup)
Of course this also affects the TonalAnalysis initialization.
BTW. Related to last Pau mail on FFTW3. First, this increase is so high
because TonalAnalysis FFT size is really huge and FFT is N*logN, not linear.
Second, I added #if USE_FFTW3 so that when disabled, the old implementation
is still active. And we can compare it better.
Also i think the algorithm can be further optimized, as i had to copy the
fftw3 output to get the complementary components (before that copy the speed
up was 467%) because ConstantQ used them. I think this copy could be removed
and also the ConstantQ getting profit of such anti-simetry.
--
David García Garzón
(Work) dgarcia at iua dot upf anotherdot es
http://www.iua.upf.edu/~dgarcia
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.clam-project.org/pipermail/clam-devel-clam-project.org/attachments/20070425/7d348a8e/attachment.sig>
More information about the clam-devel
mailing list