fft code

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

xoxos wrote:i'm using the fft code from dspguide.com
do you mean, you ported the BASIC or FORTRAN code from the book?
can anyone estimate the threat to my continued sense of well-being should i attempt to open that zip and find the bits to replace the dspguide.com code i use?
"You may use, copy, modify and distribute this code for any purpose (include commercial use) and without fee. Please refer to this package when you modify this code." [Takuya OOURA]
My website: rs-met.com, My presences on: YouTube, GitHub, Facebook

Post

table wrote:btw, have you ever benchmarked pffft against kissfft ?
Someone else did it and told me that kissfft was two times slower
And how is the array stored when it is not ordered
Nope, it's some very complicated (especially for the real transform) order where reals and imags are interleaved 4 by 4. It is really of no use except saving a few operations when performing convolutions (with pffft_zconvolve)

Post

Robin from www.rs-met.com wrote: "You may use, copy, modify and distribute this code for any purpose (include commercial use) and without fee. Please refer to this package when you modify this code." [Takuya OOURA]
:hihi:

the only commands i know for my compiler (borland fclt.. no documentation) are "bcc32" and "bc_make". i can handle adding an "include" statement and using variables (eg. what happens when i make my own "libraries"). this is from any c++ book. it's the stuff where one to hotlink the sVQml to the -lWmm and all the -Gv32xxV7 i'm supposed to know about when using a library that i find conflicts with my presence in this sphere.

i've been asking for *years* for anyone to drop me *any* information on using fclt to make .dlls.. old makefiles, anything.

(fyi, i've received two requests from top tier names in game audio for .dlls, anyone reading this can consider it an opportunity)

(ftr the prospects with vc++e are less enticing, since there is not only a lack of any single clear parseable documentation, there is also an immense amount of bullshit due to the products being contemporary. the closest i found to compiler documentation were 45 minute instructional videos, half the time of which is spent mentioning microsoft products and using their full names. i wouldn't know where to begin if i could afford to.)
you come and go, you come and go. amitabha neither a follower nor a leader be tagore "where roads are made i lose my way" where there is certainty, consideration is absent.

Post

Use ooura's FFT until you're ready to (pay to) switch to IPPS or FFTW. It's great.
[ DMGAudio ] | [ DMGAudio Blog ] | dave AT dmgaudio DOT com

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hi everybody,

a couple of time ago, I wrote some kind of FFT wrapper for my own audio projects which you can find here:
https://github.com/HiFi-LoFi/AudioFFT (https://github.com/HiFi-LoFi/AudioFFT)

Basically, it provides a uniform interface to different FFT implementations (currently Ooura, FFTW3 and Apple Accelerate, whereas Ooura is the "built-in default").

You can find there also two performance measurements including a comparison with the really popular KissFFT (which actually is slower, but also provides support for non-power-of-2 sizes).

Short summary of my performance test:
- Ooura is up to 2x faster than KissFFT.
- FFTW3 is up to 2x faster than Ooura.
- vDSP (Apple Accelerate framework) is up to 2x faster than FFTW3.

Furthermore: Performance can heavily depend on the compiler (see the performance difference of KissFFT between VC10 and LLVM). Maybe improved auto-vectorization in upcoming compilers might give here big improvements.

@jpommier: Your pffft project looks really great! :)

Maybe it's interesting and helpful for some of you.

Regards, HiFi-LoFi

Post

GFFT, a template meta programming approach, is an interesting option. Plus, it's a good read, and brings up interesting points (such as efficiency versus whether the FFT fits in cache). There are comparisons between it and FFTW, Intel MKL, plain C, and with complex data type. It really shines for large FFTs in particular, where FFTW doesn't fare as well. And of course, while FFTW does most of its prep at run time, GFFT does it at compile time.

http://www.drdobbs.com/cpp/a-simple-and ... /199500857

http://www.drdobbs.com/cpp/a-simple-and ... /199702312

http://gfft.sourceforge.net

I've used it in the past, it was easy enough; I haven't benchmarked it.
My audio DSP blog: earlevel.com

Post Reply

Return to “DSP and Plugin Development”