# Re: [MSEide-MSEgui-talk] About MSE and FFT.

```Hello Martin.
```
```
Ok, thanks, I will study all your notes.

WYL (Write You Later).

Fre;D

________________________________
De : Martin Schreiber <mse00...@gmail.com>
Envoyé : lundi 7 août 2017 09:40
À : mseide-msegui-talk@lists.sourceforge.net
Objet : Re: [MSEide-MSEgui-talk] About MSE and FFT.

On Monday 07 August 2017 01:49:06 Fred van Stappen wrote:
>
> There is a buffer of float filled by the input of a sound card, or/and by a
> decoded audio file, or/and by a custom sine wave, etc...
>
> I would like to analyse that buffer (array of float = the samples).
>
> Can mse fft analyse other sources than from mse audio ? (huh, like for
> example from uos...)
>
You can use a "tfft" from component palette tab "Math" which has no MSEsignal
interface. An example is here:
https://gitlab.com/mseide-msegui/mseuniverse/tree/master/samples/math/fft
samples/math/fft · master · MSEide MSEgui /
MSEuniverse<https://gitlab.com/mseide-msegui/mseuniverse/tree/master/samples/math/fft>
gitlab.com
MSEide+MSEgui community project

> Concretely, how to analyze the array of float (the samples) to get the
> frequencies that produce that array, what is the 1, 2, 3, 4 trick ?
>
What do you mean with "1, 2, 3, 4 trick"?

FFT means "Fast Fourier Transform":
https://en.wikipedia.org/wiki/Fast_Fourier_transform
an efficient special case of DFT:
https://en.wikipedia.org/wiki/Discrete_Fourier_transform
Discrete Fourier transform -
Wikipedia<https://en.wikipedia.org/wiki/Discrete_Fourier_transform>
en.wikipedia.org
In mathematics, the discrete Fourier transform (DFT) converts a finite sequence
of equally-spaced samples of a function into an equivalent-length sequence of
equally ...

which is a sampled form of the continuous Fourier-transform:
https://en.wikipedia.org/wiki/Fourier_transform

> Let's begin with something simple: a unique sine wave of 440 htz produced
> by a math function.
>
> If a array[0..1023] of float was filled, with samplerate 44100, by a
> sine-wave of 440 htz, if you do not know the freq of the sine wave (only
> the sample rate), how a fft can retreive the frequency of the signal ? How
> many array[0..1023] of float are needed to give a good result ?
>
> And to continue with something more complicated, if the buffer was filled
> by the input of a sound card (mic or aux, here a string of guitar), how to
> get/note the main frequency (for tuning if needed) ?
>
> I would like, for each guitar string, design the "ideal" sine wave (440 htz
> for la) in green, and design the live-sine wave of the guitar in red.
> While tuning the string, when both green and red waves are equal, then it
> is tuned. But a [ +/- the note ] like classic tuners do is good too.
>
I don't know if it is possible to do precision tuning measurement with FFT. I
fear not.

> And a spectrum/peak 16 bands for audio files/input mic would be very
> welcome too. I can do it with uos but I am courious how you propose to do
> it with mse-fft (and how fast it is).
>
The fft component of MSEgui uses the FFTW library as backend:
http://www.fftw.org/
For realtime applications probably there are better solutions. For an audio
spectrum display a filterbank probably is better suited because an FFT has a
linear frequency scale and for audio one needs a logarithmic scale.

> OK, back to mse noisegen demo.
> What is scrollbar "crest" ?

It is visible in white noise mode. With crest factor 1 the sample values are
in range -1..1, crest 2 -> -2..2 and so on.

> What king of average is done with checkbox "average" ?
>
It averages the spectrum values in order to show the "db/octave"
characteristic of the noise.

Martin

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
_______________________________________________
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
```
```------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
```_______________________________________________