Software-Emulated Amplifier: Cracking while change Volume
I’ve heard it called popcorn noise before.  Think of the output signal as the product of the input signal and the volume signal. A discontinuity in the volume signal causes a discontinuity in the output signal. The solution is to limit the bandwidth of the volume signal.  The most common implementation I’ve seen is to limit how fast the volume can change.  Another option would be to feed the volume signal through a low pass filter.  Note that the output of an LFO is already (pretty much) band limited, which explains why you wouldn’t hear any noise in that case.