Best way to switch between two dynamic processor profiles
Hello,
I want to switch between two profiles created using a dynamic processor, as if to do an A/B test.
I can use a uC and do an I2C WRITE but I was wondering if the uC can be avoided.
Ideally I would like to use a GPIO line as input and change the profile by changing the logic of the input pin.
Thanks in advance for your inputs!
Hello,
You can provide some limited adjustments by modifying the control input of an external-input compressor -- the general idea is shown below.
The algorithm inside the triangle determines the effect. A straight gain moves your entire curve up or down. For more complex adjustments, first have a peak envelope block produce a level signal for your nonlinear algorithm to work on. With Sigma 300 chips, a power function --- y = x ^ z (where z is a number likely between 0.5 and 2.0) can adjust the slope of the curve. A Linear Interpolator provides a somewhat arbitrary function. A Clipper inserts a 1:1 region into the curve. To be honest, directly writing the table with a uC is the most general solution.
Perhaps another member could offer a better solution.
SigmaStudio's A-B feature allows you to quickly switch between two projects with different curves -- so if your need is strictly a A-B listening test, this may suffice.
Best regards,
Bob
Come to think of it, why not just feed your audio into two compressors with your different curves, then have a GPIO controlled MUX choose between them? This is the easiest and most flexible solution as long as you can afford the instructions usage.
Hello KKSL,
You did not say which processor you are using. If you are using a Sigma200, the ADAU1761, 1442, 1787, then there are index selectable RMS and Peak compressors in the library.
If you are using the 1701 or the 1452/1467 families then you will have to follow Bob's suggestions.
Dave T
Thank you both Bob and Dave.
I needed it for ADAU1701 but it was good to know that the more capable ones have index selectable dynamic processors. Actually I was hoping we could achieve the same effect with ADAU1701.
As Bob suggested, I'll stick with using a uC for now.
Thanks you so much!!
Please log in to reply.

