Compressor selection
Hello.
Can you help me, which block to use, or how to create compressor? I develop device for sound, now I'm using ADAU1466 development board, which is controlled over SPI with my base microprocessor.
I need use compressor, but over SPI must be possible send these settings for compressor:
Threeshold 0 .. -90 dB
Compressor ratio
Attack time
Hold time
Release Time
How to send only these parameters ? And which block is best to use?
I cannot send from main control processor hundreds of bytes for setting 5 parameters.
Audio Signal Processors
SigmaDSP Audio Processors
adau1466
Hello Andrej,
This is a bit of a complicated explanation. I had prepared a document explaining most of what you are asking about. I will attach it.
5773.Standard Compressor Meter variables and calculations.pdf
The last slide has more to do with the meter data for metering the amount of compression.
So most of what you are wanting to do is easy and can be changed with just a few bytes. The problem is when you need to change the spline curve. There you need to send a lot of data. There is a trick you can use to simplify changing the threshold. The trick is to use the compressor cell that has an external input to the sidechain. The sidechain processing is still the same but you have control of the signal going ONLY to the sidechain. So what you do is place a level control on just the sidechain. When you change the level you will changing the threshold. Changing the level of a fader is also just a few writes and the spline curve does not need to change.
Here is a screenshot of what I am talking about.
What is not possible to do externally, with only a few bytes, is to change the ratio or the curve of the knee. This requires changing the spline curve values. What you could do for that problem is to use several compressors with different ratios and switch to the one that has the desired ratio. This is not a lovely solution and uses a lot of DSP resources. If I think of something else I will let you know. Others on the forum may have some good ideas.
This should give you a good start on this.
Dave T
Your attached document is perfect, thanks for answer. In my application need NOT curve, only one point - threshold, and compressor. Nothing more. And only in one channel (no stereo).
This post was continued here: https://ez.analog.com/dsp/sigmadsp/f/q-a/106712/create-compressor-from-basic-dsp-blocks
Dave T
Please log in to reply.