This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM5141: I want to make an audio energy detector, and output the H or L level voltage.

Part Number: PCM5141

I want to make an audio energy detector, and output the H or L level voltage.  Can I use miniDSP to achieve it?

I have test the  peak detector component --> GPIO_OUT , but it doesn't work.  And it can not confirm the threshold level that have signal or not.

If you can tell me how to achieve it by miniDSP?

Many thks

Jun

  • Hi Jun,

    To make sure I understand what you are looking for: you want to use a digital output pin to indicate if a peak high or low level has been exceeded? 

    Can you clarify what you mean? 

    Thanks,

    Paul

  • Dear Paul,

    Thanks for you answer.

    I just want to achieve one thing. If have audio,  then output a high level to GPIO.  If silent, then output a low level to GPIO.

    I have search the similar question from E2E. And I find that the GPIO Output component (under InputOutput), it will generate an interrupt pulse (not the actual level of the signal).

    So I think it can not be achieve, am i right?

    Many thanks!

    Jun

  • Hi Jun,

    This might be possible in the DSP, but it would probably be easier to just use the auto-mute features in the device and set one of the GPO pins to be the flag.

    Thanks,
    Paul

  • Dear paul,

    Thanks for your answer.

    "The PCM514x devices have two auto-mute functions to mute the device upon power loss (intentional or unintentional)."

    "This bit controls the behavior of the auto mute upon zero sample detection. The time length for zero detection is set with Page 0 / Register 59."

    That idea sounds great. But I think that auto mute function can only detect zero sample. Even the input audio is silent, my audio system also have some background noise, and can not be zero samples.

    So I think it must have a threshold level to be set.  For example, If greater than it, output 1. or not output 0.

    Many thanks,

    Jun