RMS+PEAK Combo - noise problems ...
Hi,
I am using the RMS+PEAK Combo compressor in ADAU1702. I suffer from some low frequency (almost clicking) noise at the lower frequencies (85Hz - 110Hz). I have my signal split in low and high (crossover = 250Hz) and feed the low freqyency part into the Combo. The settings are:
Peak Hold = 5ms
Peak Decay = 1000
RMS TC = 9000
Hold = 50ms
Decay = 300
I boost the signal pretty much before the Combo (15dB)!
Could my settings that cause the noise!
Thanks!
Audio Signal Processors
adau1702
SigmaDSP Audio Processors
With a gain of 15 dB prior to the input and a maximum output of -15 dB in your graph, a full-scale input would give you a maximum of 30 dB of gain reduction.
Since the peak detection works instantly (sample-by-sample), this compression will happen right at the peak, meaning that the first peak in a loud transient (where peak >> RMS) will essentially be clipped because of the instant gain reduction. Basically, the gain applied to the output jumps from 0 dB to -30 dB in a very short time. If this happens at the top of the signal, it gives you a large discontinuity in the output signal where the gain "jumped."
The peaks that follow the initial peak, prior to the release of the gain reduction, will pass through just fine. So, you're basically going to get a little click sound each time a large transient comes in. Decreasing the gain of the signal prior to the compressor will help you greatly in avoiding this clicking sound, if you're able to do that.
One way to partially alleviate this problem is to use look-ahead delay. To use look-ahead delay, take your audio signal and delay it before the audio inputs of the compressor, while leaving the detection inputs "as-is", i.e. no delay. This means that a large peak will enter the detection input first, therefore causing the gain to be reduced prior to the peak, avoiding the clipping issue. You will often see this look-ahead method in mastering compressors for audio production, because the added latency on a master is inconsequential. Look ahead delay is not typically used for individual tracks in a mix because it will induce latency on only that track, relative to the mix as a whole.
The side-effects of this approach are:
Increased system latency
The compression occurs prior to the peak itself, meaning you might get quiet clicking sounds prior to incoming peaks in the signal. The good part about this is that your ear typically masks these signals since the peak arrives only a few samples later.
Things to keep in mind:
You'll need to increase your hold / release times in order to compensate for the latency in the attack
Depending on the frequency range of signals being input to the compressor, different look-ahead times might be appropriate
In order to really fix this problem, you need a look-ahead compressor that only changes the gain of the signal on a zero cross, which should lead to minimal audio artifacts. I have discussed this with the software manager and we will look into implementing this kind of compressor in future versions of SigmaStudio.
Hi Brett,
Thanks for the explanation!
How much should the delay be (ms)? The frequency content is about 80Hz - 200Hz into the compressor!
The lowest frequency has the longest period, so the important frequency is 80 Hz in your case. 1/80 = 0.0125 ms, so I would set the look-ahead time to be 0.0125 ms if possible. At a sample rate of 48 kHz, the delay in samples should be 0.0125 * 48000 = 600 samples.
Hi Brett,
Do you have any plan for when that look-ahead-zero-crossing-compressor could be availble (if it will be)?
Thanks
I think the first manifestation of this in SigmaStudio will be a brick-wall look-ahead limiter, which is essentially used to protect against digital clipping. This kind of cell would be the absolute last stage in the signal chain prior to the speakers, and its sole function is to prevent clipping at the power amp / speaker.
If that works out well, we could expand the technology to other applications such as standard compressors.
I don't really have a timeline, but I will create a block diagram today and run it by our software manager. Perhaps we can get a prototype running in an upcoming beta build.
Hi Brett,
Any new information about the look-ahead limiter/compressor? Is there anything available that can be tested?
Thanks
Hi!
I am not sure about how the combo peak+rms curve applies to the rms compression and peak compression respectively. Which level is threshold for peak detector and which level is threshold for rms deteror?
If I build a combo with one rms compressor followed by a peak compressor then I have 2 independent curves that I can adjust!
Thanks!
Hi SpeakerDude,
Sorry for the late response - I have been out of the office frequently during the last few weeks.
First of all, I'm going to copy the description of the algorithm from the help file. Sorry if you already saw this:
The PeakRMS Combo algorithm offers a dual-detection path. The RMS and Peak envelope of the detector input signal are calculated. Depending on the time constants used for each detection (Peak and RMS) and ADI proprietary code, the algorithm switches between using RMS and Peak detection in order to apply the compressor gain adjustment. This results in getting the "best of both worlds" with both Peak and RMS compression. Typically, there are complaints that RMS is too slow to react to fast spikes in signal input. Peak detectors can handle these fast spikes, but then do not have a natural sound response to the increase in signal level. The generated images below show the difference in output signal for RMS, Peak, and Combo compressor.
The clipped brown signal is an input sine tone at a low level, that immediately increases in level. All three compressors have a limiting compressor curve set at -20dB. The Red curve is the RMS output, showing the first initial peaks still getting through to the output because the of the slower attack time constant. The purple curve is the Peak output, showing the quick attenuation of the peak, but unnatural ripple introduced by the quick attack. The light-blue output is the Combo compressor. Note that the first peak is attenuated quickly (not as severe as the Peak) but much more than the RMS. However, there still is a natural decrease in signal level from the initial attack, which subjectively sounds better than the harsh peak detection.
Playing with both the RMS and Peak detection time constants on this control can yield different results, but the default settings on the control are recommended as a starting point. The graph below was generated with the default time constant settings.
So, the main point is that there's only one transfer function (graph). However, there are two detection signals. The peak detection has a fast time constant that tracks the leading edge of loud transients, whereas the RMS detection has a slower time constant that tracks the average level of the signal. Whichever one of these is higher is applied to the transfer curve. So, during the attack portion of a signal (the initial transient), the peak level of the signal will be larger than the RMS level, so the peak level will set the output gain. However, after the initial transient, the RMS level has a slow rolloff, so it will generally be higher than the peak level and it will control the way the gain behaves until the next transient.
It's a bit difficult to compare this to other compressors because I've never seen this approach in any other software or hardware. It might be good to simply test this on your own and do some listening comparisons to see what you like best. It might very well be the case that an RMS compressor followed by a peak compressor (giving you two separate curves) would be the best approach.
Hi Brett,
I could not find out how to start a new discussion but I send the question directly to you :-)!
I wonder if there is any description or"curve" of the gain that is applied by the dynamic bass bost (gain vs frequency curve)? For example:
Settings:
Boos Freq = 45Hz
Boost = 6dB
Low threshold = -20
High threshold = 0
Compr ratio = 3
Lowpass freq = 250Hz
What is the applied gain curve (gain vs freq) for signal levels between low and high threshold? How does the curve look for frequencies above and below the bosst frequency (45Hz)?
I can not simulate it in SigmaStudio!
Best regards
Markus
Hello Markus,
To start a new discussion, follow the instructions at: FAQ: Asking a Question
I'm afraid Brett is no longer with ADI. He is the best SigmaStudio mentor of his time.
I attempted to answer your question at: https://ez.analog.com/message/181630#181630
The Stimulus/Probe filter response tool only works for static not dynamic filters -- please see,
https://ez.analog.com/message/120089#120089
Best regards,
Bob
Please log in to reply.