0
0

If what i’ve read is correct:

The 512 floats of the spectrum array define the intensity of each 43 Hz incremented frequencies (for a 44100Hz-Audio ie 0-22050Hz)…

But for us who would like to distinguish frequencies between two guitar played notes (E, A, D, G, B, Em), this interval of 43Hz is too big… Anyone see a solution to reduce it?

  • You must to post comments
0
0

Using your own implementation in a DSP callback using the FFTW library ? 😉

  • You must to post comments
0
0

How to connect the sample with fftw functions?

  • You must to post comments
0
0

FFTW performs an FFT on an array of floating-point values. You can certainly use it to compute the transform of an image or audio stream, but you are responsible for figuring out your data format and converting it to the form FFTW requires.

Know a way to convert buffer data into an array of doubles ??

  • You must to post comments
0
0

FFTW can use float OR double, depending if FFTW_ENABLE_FLOAT is defined, at least for fftw 2.x (see fftw.h)

  • You must to post comments
0
0

Well yes maybe, but this does not answer to my question…
Let’s make it clear…

My problem is that i don’t know how to make an array of float (or double) which represents the recording sample (buffer)…

Maybe brett knows, because it may have been done for FMOD get_spectrum()…

Then i’ll start feeding FFTW :)

Thx :)
Bonjour chez toi :-)
Bonne annee :)
Merci d’avance :)

  • You must to post comments
0
0

To get an array of float, you ll have to use the FSOUND_MIXER_QUALITY_FPU flag for [url=http://www.fmod.org/docs/HTML/FSOUND_SetMixer.html:9g0s5hyw]FSOUND_SetMixer[/url:9g0s5hyw].
Then, the data sent by FMOD in a DSP or a Stream callback will be float data. (just cast the newbuffer to float * ).

PS : bonne et heureuse année à toi aussi 😉

  • You must to post comments
0
0

I’m doing the same project (Guitare…)

I thanks KarlKoX for is answer but i didn’t find how get
“the Date sent by FMOD in a DSP or a Stream callback will be float data”

please can you develope your explanation?

😉

  • You must to post comments
0
0

[code:3bzb58fc]
void * F_CALLBACKAPI MyDSPCallback(void originalbuffer, void *newbuffer, int length, void *userdata)
{
int count;
int mixertype = FSOUND_GetMixer();
float *src = (float
)newbuffer; /* our float datas */

/* we accept only float so i check the mixer first */
if (mixertype != FSOUND_MIXER_QUALITY_FPU)
    return newbuffer;

length <<= 1; /* *2 for stereo (number of 16 bit samples) */
for (count=0; count<length; count+=2)
{
   /* here you can printf src buffer  */

}

 return newbuffer; /* this is just an example, it could be your own altered buffer */

}
[/code:3bzb58fc]

  • You must to post comments
0
0

[quote="brett":ltf3403y]the fmod ex beta will come out soon with a guitar tuner example. It has fft windows sizes from 128 to 16384[/quote:ltf3403y]

Do you have this example ready yet? Is it possible to get it to work under previous releases of FMOD?

  • You must to post comments
Showing 9 results
Your Answer

Please first to submit.