2009-08-06 191 views
5

將速度作爲一個問題來選擇另一種語言可能會更好,但是在Python中進行一維快速傅里葉變換(FFT)的選擇是什麼樣的庫/模塊/實現?推薦用於快速傅立葉變換(FFT)的Python模塊是什麼?

+2

執行FFT的Python包通常不會在純Python中實現,而是在底層編譯語言中實現,所以Python的速度不會反映在轉換的速度上。也就是說,它們會像其他任何東西一樣快。 – tom10 2009-08-08 19:27:03

回答

3

我會推薦使用FFTW庫(「西方最快的傅里葉變換」)。 FFTW download page指出存在Python包裝,但鏈接已損壞。谷歌搜索出現Python FFTW,它提供了Python到FFTW3的綁定。

8

我會推薦numpy圖書館,我不確定它是否存在最快的實現,但它肯定是「市場」上最好的科學模塊之一。

5

如果你能找到一個真正有效的python綁定,FFTW可能是最快的實現。不過,最簡單的事情當然是scipy.fft。另外,你還可以獲得numpy/scipy的所有功能。據我所知,我只用它作爲一個玩具項目(一種基本的音樂可視化),但它足夠快,能夠以60fps的速度在44khz處理沼澤標準音頻。