Wiki » History » Version 4
Chris Cannam, 2015-10-07 02:51 PM
| 1 | 1 | Chris Cannam | h1. Things tried |
|---|---|---|---|
| 2 | 1 | Chris Cannam | |
| 3 | 1 | Chris Cannam | h2. FFT implementations |
| 4 | 1 | Chris Cannam | |
| 5 | 1 | Chris Cannam | I've tested only forward real-to-complex at this point (I haven't even checked that the inverse transforms produce the right results). |
| 6 | 2 | Chris Cannam | |
| 7 | 2 | Chris Cannam | You can run these tests in a browser, either by checking out this repo and opening the file @fft/index.html@ or by navigating to "this test page here":http://all-day-breakfast.com/js-dsp-test/fft/. |
| 8 | 1 | Chris Cannam | |
| 9 | 3 | Chris Cannam | h3. Implementations included |
| 10 | 1 | Chris Cannam | |
| 11 | 1 | Chris Cannam | h4. Javascript source |
| 12 | 1 | Chris Cannam | |
| 13 | 1 | Chris Cannam | * "FFT by Nayuki":http://www.nayuki.io/page/free-small-fft-in-multiple-languages (multilingual) - complex-complex |
| 14 | 1 | Chris Cannam | * "FFT by Jens Nockert":https://github.com/JensNockert/fft.js (also on "npm":https://www.npmjs.com/package/fft) - real-complex |
| 15 | 1 | Chris Cannam | * "JSFFT by Nick Jones":https://github.com/dntj/jsfft - scales forward transform by 1/sqrt(n) |
| 16 | 1 | Chris Cannam | |
| 17 | 1 | Chris Cannam | h4. Compiled-to-Javascript |
| 18 | 1 | Chris Cannam | |
| 19 | 4 | Chris Cannam | * "KissFFT":http://kissfft.sourceforge.net/ - modest C implementation, compiled with Emscripten |
| 20 | 4 | Chris Cannam | * "Cross":http://groovit.disjunkt.com/analog/time-domain/fft.html - minimal complex-complex C implementation, compiled with Emscripten |
| 21 | 4 | Chris Cannam | * "FFTW":http://www.fftw.org/ - all-consuming C implementation, compiled with Emscripten |
| 22 | 1 | Chris Cannam | |
| 23 | 1 | Chris Cannam | h4. Not tested |
| 24 | 1 | Chris Cannam | |
| 25 | 1 | Chris Cannam | * "Timbre.js by mohayonao":http://mohayonao.github.io/timbre.js/fft.html - expects to be pipelined with other timbre.js classes - not pursuing |
| 26 | 1 | Chris Cannam | * "dsp.js by Corban Brook":https://github.com/corbanbrook/dsp.js - only supports real-real (i.e. mag spectrum) - not pursuing |