Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Scroll Documents: Update page title prefix

Overview

ST Sound Detector module

Discussion

SoundDetector has the function of discriminating between stationary noise and sound. To do so, it has a noise estimator which tracks the slow changes of the noise. Two configurable thresholds (to allow hysteresis) are then used to decide the state flag value (active or inactive). A minimum noise power level can be adjusted in order to lower-limit the noise estimator. At last, an hangover period from active to inactive state is configurable, in order to avoid state toggling. This module intentionally uses simple estimator algorithms in order to provide a low MIPS solution. The current implementation internally uses 24 bits input format, mono signal only.

The minimum input frame is 96 and the maximum input frame is 480 stereo samples.

Type Definition

Code Block
typedef struct _ModuleSTSoundDetect
{
    ModuleInstanceDescriptor instance;            // Common Audio Weaver module instance structure
    INT32 nAPIResult;                             // Return status for last call into the ST API
    INT32 LearningFrameNumber;                    // Learning Frame Number
    INT32 enable;                                 // Block enable
    INT32 ratio_thr1_dB;                          // Inactive to active threshold in dB
    INT32 ratio_thr2_dB;                          // Active to Inactive threshold in dB
    INT32 noise_pwr_min_dB;                       // Minimum power noise value dBFS
    INT32 hangover_nb_frame;                      // Number of frames of hangover
    INT32 output_state;                           //
    INT32 output_nrj;                             //
    INT32 output_noise_pwr;                       //
    INT32 output_thr1;                            //
    INT32 output_thr2;                            //
    void * pGlobals;                              // Points to the global variables structure
} ModuleSTSoundDetectClass;

Variables

Properties

Name

Type

Usage

isHidden

Default value

Range

Units

nAPIResult

int

state

0

1

Unrestricted

LearningFrameNumber

int

const

0

4

Unrestricted

enable

int

parameter

0

1

0:1:1

ratio_thr1_dB

int

parameter

0

9

1:1:40

dB

ratio_thr2_dB

int

parameter

0

7

1:1:40

dB

noise_pwr_min_dB

int

parameter

0

-60

-87:1:0

dB

hangover_nb_frame

int

parameter

0

20

1:1:40

output_state

int

state

0

0

Unrestricted

output_nrj

int

state

0

0

Unrestricted

output_noise_pwr

int

state

0

0

Unrestricted

output_thr1

int

state

0

0

Unrestricted

output_thr2

int

state

0

0

Unrestricted

pGlobals

void *

const

1

Unrestricted

Pins

Input Pins

Name: in

Description: audio input

...

Sample rate range: 8000, 16000, 44100, 48000

Complex support: Real

Output Pins

Name: out

Description: audio output

Data type: fract32

Scratch Pins

Channel count: 1

Block size: 96

Sample rate: 8000

MATLAB Usage

File Name: st_sound_detect_module.m

...