## Fast Fourier Transform (FFT) written in VB

Back in 2001, when I began working on DXVUMeter (an ActiveX control used to display audio in various formats) I wanted to implement the ability to display the monitored audio in the frequency domain, that is, be able to apply a Fast Fourier Transform over the sampled audio and display it.

[Again], I found a C and VB version of an FFT implementation done by no other than Murphy McCauley and if you look hard enough you can still find web sites hosting his original version.

The initial implementation of McCauley’s code worked well and did its job. Actually, DXVUMeterNETGDI, the latest version of this control, still uses a very similar version to do all its internal FFT calculations.

So what’s different in my (new) FFT implementation? Most importantly, the use of a new data type which allows all related FFT calculations to utilize complex numbers.

Also, my FFT module includes several additional functions such as:

- An apodization function with support for 11 different types of windowing algorithms
- A Convolute function
- A Savitzky-Golay smoothing filter
- A Triangle smoothing filter
- A Hilbert Transform function
- An alternate FFT algorithm from that provided by the original McCauley’s version

So, if you are interested in using or simply peeking at this code, you can download the library from this link:

VB.NET FFT Library 3.2 [5.93 kB]

Pingback: Music Identification (Fingerprinting) - When I'm Bored()

Pingback: SoftScope: A software based Oscilloscope / Vectorscope - When I'm Bored()