Compressor causing noises when the Attack time is short

As you said, I also suspected the real-time processing as a cause.
But after some tests, I came to the conclusion that it was rather FMOD’s algorithm.

I switched between different audio drivers (for lower latencies), increased the DSP buffer size, and tried on different devices, but no difference.
It wasn’t overshooting noise.
FMOD’s limiter and compressor can successfully catch the fast attacks and compress/limit them.
So it actually does prevent signals from hitting 0dB and beyond, but the problem is, it creates new artifacts.
Namely, FMOD_DSP_TYPE_LIMITER / FMOD_DSP_TYPE_COMPRESSOR replaces peak noises with other artifacts.

To me, those sounded a little like guitar distortion effects.
They are milder than peak noises and can get louder or quieter as you set the parameters.
So, if you want to prevent the audio output devices (and our ears) from being damaged by peaks and get some special distortion effects, then FMOD_DSP_TYPE_LIMITER / FMOD_DSP_TYPE_COMPRESSOR can be useful.
But if you just want to mitigate peaks, then they aren’t.

I don’t know the exact algorithm behind software limiters/compressors, but I guess FMOD’s just compresses while other professional plugins do more than that to make the compressed signals smooth.
If you think about it, we can play virtual instruments with plenty of real-time virtual compressors and limiters in software like Cubase without this kind of issue.
And many of them even have additional options like KNEE.

At least as for FMOD_DSP_TYPE_LIMITER, it needs some improvement, I think.
Because most of the time the limiter’s only purpose is to kill peak noises, but FMOD’s limiter is sitting there just to replace with distortion artifacts.

FMOD is really good and I’m always satisfied, but this is the first time I’m very frustrated with the API…

But thank you for your fast reply.