ΣSigmaStudio Ask AI Русский Log in

How to build a pre-clipping detector in SigmaStudio?

SigmaDSP & SigmaStudio MarkCh Mar 24, 2025 00:00 3 replies Original on forum ↗
Subscribe
MarkCh Question
Mar 24, 2025 00:00

Hi,

I'm working on an ADAU1701 based guitar pedal design and have been able to build almost everything I need in SigmaStudio 4.7.

The final piece I need to build is a pre-clipping or level detector that will light an LED via GPIO before the user clips the ADCs or DACs.

I'm reasonably sure the capability is there, but I can't seem to pull the correct block together. I tried the RMS Table, but can't get it to drive the GPIO.

Any ideas would be much appreciated,

Mark

Audio Signal Processors

software

sigmaStudio 4.7

SigmaDSP Audio Processors

adau1701

DaveThib Reply
Mar 24, 2025 00:00

Hello Mark,

I am guessing you do not have the correct format for the GPIO output. If you have a few minutes just delete any proprietary things from your project and just keep the level sensing part and attach it to a reply.

There are many ways to do this.

I had worked up a project a while back that varies the pulse width of the GPIO output to make an LED go brighter when the level is higher. This project shows you how to sense the level.

you will not need the pulse generator to just do a clipping indicator. I suggest you use the good old ABCD block to compare to a level that you want to call "clipping" and then send out a "1" in unsigned integer format to light the LED. Send out a zero to shut it off. Although, I am making some assumptions as to how your hardware is wired and also there are some register settings that are important like the "Invert" setting.

Here is my project:

6888.ADAU1701 GPIO output to a single LED to change brightness based on level.dspproj

Dave T

MarkCh Reply
Mar 25, 2025 00:00

Hi Dave,

Thanks for getting back to me. I've enjoyed your SigmaStudio video tutorials on YouTube. If only the wiki were as useful.

I've been building this project in sections, so there was nothing proprietary to remove.

GPIO experiment 3.dspproj

I'll take a look at your template the first chance I get.

Mark

MarkCh Reply
Mar 27, 2025 00:00

Hi Dave,

I found the post titled "ADAU1701 signal level detection for GPIO logical output" and the explanation about how the ABCD block works was most helpful; thanks for the tip.

I don't need the dual threshold, so I simplified the circuit and got just what I need. Feel free to share the attached.

adau170x_signal detection to GPIO-4.dspproj

Thank you again for your help,

Mark