trying to use the FFT library to get a waveform


Well-Known Member
Licensed User
Longtime User
I dont know how to use tophase/toamplitude to get a waveform,
I have the source data from the microphone already, and its a 2^n number of cells


Licensed User
Longtime User
Do you want a waveform or a frequency graph?

For a traditional waveform you don't need an FFT ... sum the channels (divided by the number of channels) to give you a mono view if required, then average (or peak, your choice) the maximum and minimum values every 'n' samples. Higher values of 'n' will give you a more compressed waveform.
Upvote 0


Licensed User
Longtime User
Your source data must be an array of doubles TimeReal in the example below.
Number of samples 1024
Dim NN = 1024 As Int
Dim NN2 = NN / 2 As Int
Dim TimeReal(NN) As Double
Dim FFTReal(NN2) As Double
Dim FFTImag(NN2) As Double
Dim FFTAmpl(NN2) As Double
Dim FFTPhas(NN2) As Double

FFT.Transform2(TimeReal, FFTReal, FFTImag)
FFTAmpl = FFT.ToAmplitude(FFTReal, FFTImag)
FFTPhas = FFT.ToPhase(FFTReal, FFTImag)
Best regards.
Upvote 0