Skip to content

File syn_vad.c

FileList > audio > syn_vad.c

Go to the source code of this file

Zero-Heap Acoustic Voice Activity Detector (VAD) Engine Implementation.

  • #include "../port/syn_port_system.h"
  • #include "syn_vad.h"
  • #include <string.h>

Public Functions

Type Name
SYN_VAD_State syn_vad_get_state (const SYN_VAD * vad)
Get current smoothed VAD state without processing a new frame.
SYN_Status syn_vad_init (SYN_VAD * vad, const SYN_VAD_Config * cfg)
Initialize Voice Activity Detector context.
SYN_VAD_State syn_vad_process_frame (SYN_VAD * vad, const int16_t * samples, size_t num_samples, SYN_VAD_Features * out_features)
Process single frame of 16-bit signed PCM audio samples.
SYN_Status syn_vad_reset (SYN_VAD * vad)
Reset VAD state counters and restore default noise floor.
SYN_Status syn_vad_set_sensitivity (SYN_VAD * vad, SYN_VAD_Sensitivity sensitivity)
Adjust VAD sensitivity preset.

Public Static Functions

Type Name
void vad_apply_sensitivity (SYN_VAD * vad, SYN_VAD_Sensitivity sensitivity)
Configure internal threshold parameters based on sensitivity preset.

Macros

Type Name
define SYN_VAD_DEFAULT_INITIAL_NOISE 200U
define SYN_VAD_MIN_NOISE_FLOOR 50U

Public Functions Documentation

function syn_vad_get_state

Get current smoothed VAD state without processing a new frame.

SYN_VAD_State syn_vad_get_state (
    const SYN_VAD * vad
) 

Parameters:

  • vad VAD instance pointer.

Returns:

Current VAD state.


function syn_vad_init

Initialize Voice Activity Detector context.

SYN_Status syn_vad_init (
    SYN_VAD * vad,
    const SYN_VAD_Config * cfg
) 

Parameters:

  • vad VAD instance pointer.
  • cfg Configuration descriptor (or NULL for default 16kHz parameters).

Returns:

SYN_OK on success, SYN_INVALID_PARAM on invalid argument.


function syn_vad_process_frame

Process single frame of 16-bit signed PCM audio samples.

SYN_VAD_State syn_vad_process_frame (
    SYN_VAD * vad,
    const int16_t * samples,
    size_t num_samples,
    SYN_VAD_Features * out_features
) 

Parameters:

  • vad VAD instance pointer.
  • samples Array of 16-bit PCM audio samples.
  • num_samples Number of samples in frame (should match configured frame_length).
  • out_features Optional pointer to receive extracted frame metrics (can be NULL).

Returns:

Current smoothed VAD decision (SYN_VAD_STATE_SPEECH or SYN_VAD_STATE_SILENCE).


function syn_vad_reset

Reset VAD state counters and restore default noise floor.

SYN_Status syn_vad_reset (
    SYN_VAD * vad
) 

Parameters:

  • vad VAD instance pointer.

Returns:

SYN_OK on success.


function syn_vad_set_sensitivity

Adjust VAD sensitivity preset.

SYN_Status syn_vad_set_sensitivity (
    SYN_VAD * vad,
    SYN_VAD_Sensitivity sensitivity
) 

Parameters:

  • vad VAD instance pointer.
  • sensitivity Sensitivity preset level.

Returns:

SYN_OK on success.


Public Static Functions Documentation

function vad_apply_sensitivity

Configure internal threshold parameters based on sensitivity preset.

static void vad_apply_sensitivity (
    SYN_VAD * vad,
    SYN_VAD_Sensitivity sensitivity
) 

Parameters:

  • vad VAD instance pointer.
  • sensitivity Sensitivity preset level.

Macro Definition Documentation

define SYN_VAD_DEFAULT_INITIAL_NOISE

#define SYN_VAD_DEFAULT_INITIAL_NOISE `200U`

Default initial noise energy estimate


define SYN_VAD_MIN_NOISE_FLOOR

#define SYN_VAD_MIN_NOISE_FLOOR `50U`

Minimum floor clamp for adaptive noise



The documentation for this class was generated from the following file src/syntropic/audio/syn_vad.c