How can I make an equalizer so that I can manage low, mid and high frequencies ?

I’ve found FMOD_DSP_LOWPASS and FMOD_DSP_HIGHPASS but cant find any example of how it works.


  • You must to post comments

Look at the values you used, compare that to the expected min max values…

0 for gain… invalid

1 for the badwidth of the slider… not much for a 2 slider eq, like your code suggest a 2 slider eq. try 5 for fun


After playing with this dsp, I noted you should add your upper ranges first, then go down the fr. Since the dsps are one after the other in the chain, this will cause less interference on regular music. It looks like dsps are chained one after the other. I could be wrong. So the output from one goes in the input of the second one. If you increase the lower fr first, then the lower mid… the lower mid hase more "sound" to affect… Where as if you go the other war, because most music has less higher fr "volume" the adverse effect is less.

I could be wrong though.

  • You must to post comments

Creat a DSP
System, createDSPByType with FMOD_DSP_TYPE_PARAMEQ

the, DSP, setParameter…

You will need a dsp for each "slider" of your eq.

It would help you if you wrote a dsp browser to figure out the parameter index and the values, I do have one, here, the text to document the param is included, extracted from the dsp

param 0 is the frequency
"Center freq"
"Frequency center. 20.0 to 22000.0. Default = 8000.0."

param1 is the range +-octave the effect will take place
"Octave range"
"Octave range around the center frequency to filter. 0.2 to 5.0. Default = 1.0."

param 2 is the gain
"Frequency gain"
"Frequency Gain. 0.05 to 3.0. Default = 1.0."

  • You must to post comments

Well ok I’ve created a new dsp for each "slider", using FMOD_DSP_TYPE_PARAMEQ.
And then change the parameters with Setparameter.

The problem is that the render seems alike. Actually, if i compare my EQ (which is only choking sounds) to LOWPASS and HIGHPASS, the render is not the same at all.

I’d like to make a tri-band EQ with LOW MID and HIGH sliders though.
But by changing the frequence from 1000 to 22000 the only difference is the importance of the choking effect… seem strange.

Here is the source:
FMOD_System_CreateDSPByType(system, FMOD_DSP_TYPE_PARAMEQ, &dspeqlow);
FMOD_System_CreateDSPByType(system, FMOD_DSP_TYPE_PARAMEQ, &dspeqhigh);

FMOD_DSP_SetParameter(dspeqlow, 0, 1000);
FMOD_DSP_SetParameter(dspeqlow, 1, 1.0);
FMOD_DSP_SetParameter(dspeqlow, 2, 0);

FMOD_DSP_SetParameter(dspeqhigh, 0, 22000);
FMOD_DSP_SetParameter(dspeqhigh, 1, 1);
FMOD_DSP_SetParameter(dspeqhigh, 2, 0);[/code:d1i4j53h]

Thank you for your help :)

  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.