Introduction for musicians / end users
This is a list of links and information I have compiled about P4 denormalization issues after experiencing CPU spikes (100% CPU usage) using various audio plugins/instruments on my DAW. I’m a musician, not a plugin programmer, so there may be a few errors in this document.
NOTE: The problem is not P4 specific. I have received emails confirming that it happens with several other CPUs. The P4 seems to have a higher threshold, so denormalization appears quicker.
Simple explanation of the problem
I’ll explain the problem by describing what we see and hear in our sequencer (Cubase SX 2 in this example). Let’s say we wish to pass an audio track through a low pass filter like Waldorf D-Pole. Place D-Pole on the audio track mixer strip as an insert and play the sequence. The VST Performance meter should display approximately 5% CPU usage, leaving plenty of headroom for more instruments and effects. If the sequencer happens to play through a section of silence, the CPU usage raises to 100%, causing stuttering, hangs and possibly a crash. The same problem may also appear when we stop playing the sequence. It seems the CPU is stressed more while processing silence!
The problem is caused by certain plugins performing very precise mathematical calculations with very small numbers close to zero (silence). This causes the CPU to go into high precision mode, using up all available processing power. This is known as denormalization. The only fix is for the plugin developers to write additional code which prevents the CPU from going into high precision mode (actually, there is a partial work-around which I mention later).
Will reducing precision also reduce quality?
An interesting question came up while discussing denormalization with a few developers in #musicdsp on efnet. Some people wondered if removing high precision mode would also reduce the audio quality of the plugin. Do we even need such accurate mathematical precision to get a good sound? I questioned whether highly precise math was required for smooth sounding reverb tails.
René G. Ceballos of RGC Audio put my mind at rest by stating:
“The precision factor when killing denormals is affected by millions of times below anything any human can hear. I’m talking about -500dB or so…”
In other words, reducing precision does not reduce sound quality, because the human ear can’t even hear the audio which needs to be removed. I guess that settles the argument!