18#ifndef __SOF_AUDIO_MFCC_MFCC_VAD_H__
19#define __SOF_AUDIO_MFCC_MFCC_VAD_H__
24struct processing_module;
29#define MFCC_VAD_NOISE_INIT_FRAMES 100
34#define MFCC_VAD_NOISE_RISE_ALPHA 98
39#define MFCC_VAD_NOISE_RISE_ALPHA_FAST 655
44#define MFCC_VAD_ENERGY_THRESHOLD 2516582
49#define MFCC_VAD_HANGOVER_FRAMES 20
81 struct processing_module *mod);
int mfcc_vad_init(struct mfcc_vad_state *vad, int num_mel_bins, int32_t sample_rate, struct processing_module *mod)
Initialize VAD state.
int mfcc_vad_update(struct mfcc_vad_state *vad, const int32_t *mel_log)
Process one Mel spectrum frame and update VAD decision.
VAD state structure.
Definition mfcc_vad.h:54
int16_t hangover_counter
Current hangover counter.
Definition mfcc_vad.h:61
int16_t num_mel_bins
Number of Mel bins in use.
Definition mfcc_vad.h:66
int32_t * noise_floor
Per-bin noise floor in Q9.23.
Definition mfcc_vad.h:55
int16_t * weights
Speech-frequency emphasis weights Q1.15.
Definition mfcc_vad.h:56
int16_t noise_rise_alpha_slow
Slow rise alpha Q1.15.
Definition mfcc_vad.h:65
int32_t noise_energy
Weighted noise floor energy in Q9.23.
Definition mfcc_vad.h:59
bool initialized
True after first frame processed.
Definition mfcc_vad.h:67
bool is_speech
Current VAD decision.
Definition mfcc_vad.h:68
int16_t init_frames
Number of initial frames for fast convergence.
Definition mfcc_vad.h:63
int16_t hangover_max
Maximum hangover frames.
Definition mfcc_vad.h:62
int16_t noise_rise_alpha_fast
Fast rise alpha Q1.15.
Definition mfcc_vad.h:64
int32_t energy_threshold
Energy threshold Q9.23.
Definition mfcc_vad.h:58
int16_t frame_count
Initial convergence frames processed.
Definition mfcc_vad.h:60
int32_t energy
Weighted signal energy in Q9.23.
Definition mfcc_vad.h:57