Search code examples
c#audiofmodaudioeffect

Dynamic DSP.setParameter with FMOD


I want to play sound with effect.

In example, I'm using low and highpass, I want to set the parameters of two effect with the mouse location (x, y).

I used DSP.reset() and DSP.setParameter(), but, there is a problem.

If I moved the mouse faster and faster, the Sound is not smooth.

The original sound is played between time of the code reset() and setParameter() .

Therefore I can hear a sound like spark( 'tick! tick!').

I want to make it smooth.

Is there any way??

private void mouse_effect_move(object sender, MouseEventArgs e)
    {

        int i;
        i = e.Y / 10;

        dsplowpass.reset();
        dsphighpass.reset();

        if (i < 9)
        {
            dsphighpass.setParameter(0, 6310 - 700 * i);
            //dsphighpass.setParameter(1, 1);

        }
        else
        {
            dsplowpass.setParameter(0, 22000 - 2200 * (i - 9));
            //dsplowpass.setParameter(1, 1);
        }

    }

Solution

  • You don't need the calls to DSP::reset when using DSP::setParameter. Does the problem go away if you remove them?