Peak compressor operation noise
Hello everyone,
I just tried the peak compressor block on the ADAU1701 evaluation board and noticed it is very noisy when operating on signals with smooth, long envelopes...
Be it a sine wave or a sustained note from a voice or a string section or similar, it gets really crunched when it rises above the threshold of the peak comp and the same happens with any variation in amplitude if still above the threshold.
This happens all over the spectrum, with any "hold" and "decay" setting and with any signal amplitude (also quite low... I specify this because of the Lo/Hi Range issue).
Is this behaviour supposed to be regular?
Thank you for your support
Audio Signal Processors
threshold
noise
crunch
peak
SigmaDSP Audio Processors
adau1701
comp
Show More
Hi tommi,
The peak compressor does not have a "look ahead" feature, so any gain reduction is applied instantaneously to the signal. If the amount of gain reduction is large, this can result in a substantial "jump" in the output signal, which could create a discontinuity that generates high frequency noise. This is simply an aspect of peak compressors, and it isn't unique to our algorithm.
A number of functional blocks can alleviate this problem in various ways:
Look-ahead delay, so the compressor can anticipate incoming peaks and lower the gain before they arrive.
Changing the gain only on zero crossings, guaranteeing that there are no discontinuities in the signal.
Soft-clipping behavior if the input exceeds a certain threshold.
Currently, the first and third options are available to use in SigmaStudio, but we would need to create some extra blocks in order to allow you to realize the second of those options.
Example of look-ahead delay (using peak compressor with external detector input):
Example of using a soft clip cell to "soft limit" the output signal, generating mild distortion:
Hi Brett,
The circuit below allows the side-chain control to change only at zero crossings. I'm not sure if this is what's wanted, but it seems to sound natural even at fast settings.
Bob
BrettG wrote:
Changing the gain only on zero crossings, guaranteeing that there are no discontinuities in the signal.
There's still a discontinuity if you change the gain abruptly at a zero crossing. It's just not as noticeable? Maybe a short smoothly-changing ramp gain would be better?
J3627,
Yes, that's correct. In fact, in the digital realm any change in gain results in a discontinuity; it's unavoidable by the very nature of digital signal processing. However, changing at a zero crossing greatly reduces the subjective loudness of the audible artifact in the output signal.
Using a ramp like you suggested is a great idea, and it can work very well (you can implement and test it with a combination of the RMS lookup table and an external input slew volume control). However, the tradeoff is that it becomes much more expensive computationally because you have to implement the ramp instructions and store extra variables in memory.
This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.
Thank you,
EZ Admin
Please log in to reply.





