rnnoise 中的 kissfft.[c,h] 與特徵擷取的整理

前言

"Keep simple, Stupid." by Mark Borgerding, kissfft.

在察看 rnnoise 底下 rnnoise/src 關於神經網路架構的原始碼時,發現最基礎的快速傅立葉轉換(FFT),是經由 Mark Borgerding 所寫的 kissfft 改編而成的,原始的 repo 在 2024/03 時除了做一個 commit 之外,已經有段時日沒有改動。在讀原始碼的過程中最令人頭疼的部分在於「註解的部分太少,不易理解」,這點 rnnoise 繼承了他,包含後續的特徵擷取等等程式碼也是如此。

基於前人種樹後人乘涼的想法,決定補上 kissfft 對快速傅立葉轉換的註解,以及 rnnoise 在特徵擷取的程式碼,從數學的角度出發補全其中註解。

快速傅立葉轉換

參考資料

https://hackmd.io/@qM-xlQY_Q7q3-6m3yMgOHQ/HJaYKOtG4?type=view