Fast Fourier Transform in C#
14,523
AForge.NET is an open-source library with Fast Fourier Transform support.
ExocortexDSP is also another option.
ExocortexDSP example would look something like this:
Exocortex.DSP.ComplexF[] complexData = new Exocortex.DSP.ComplexF[512];
for (int i = 0; i < 512; ++i)
{
// Fill the complex data
complexData[i].Re = 1; // Add your real part here
complexData[i].Im = 2; // Add your imaginary part here
}
// FFT the time domain data to get frequency domain data
Exocortex.DSP.Fourier.FFT(complexData, Exocortex.DSP.FourierDirection.Forward);
float[] mag_dat_buffer = new float[complexData.Length];
// Loop through FFT'ed data and do something with it
for (int i = 0; i < complexData.Length; ++i)
{
// Calculate magnitude or do something with the new complex data
mag_data_buffer[i] = ImaginaryNumberMagnitude(complexData[i].Im, complexData[i].Re);
}
Author by
Phil
Updated on June 20, 2022Comments
-
Phil almost 2 years
Possible Duplicate:
Fast fourier transform in c#I am looking for an example of performing a real time FFT (Fast Fourier Transform) of line in or mic audio data in C#. My goal is to determine in real time if a particular note is present in the audio data. Any examples appreciated.
-
Phil over 13 yearsThank you for the library links. I am after examples :)
-
SwDevMan81 over 13 yearsUpdated with an ExocortexDSP example. AForge will look similar.
-
Phil over 13 yearsThank you, as in the original question, I am after examples of pulling said data from mic or line in. Would I need a second library for that? Thank you.
-
SwDevMan81 over 13 yearsCorrect. There is no built in functionality for sound. You would need something like this: codeproject.com/KB/audio-video/cswavrec.aspx
-
bh_earth0 over 7 yearsis this "512 length array" means . 512 consecutive audio sample pieces ? if yes , i got it .