Sound Open Firmware
Loading...
Searching...
No Matches
mfcc_vad.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2026 Intel Corporation.
4 *
5 * Author: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
6 */
7
17
18#ifndef __SOF_AUDIO_MFCC_MFCC_VAD_H__
19#define __SOF_AUDIO_MFCC_MFCC_VAD_H__
20
21#include <stdint.h>
22#include <stdbool.h>
23
24struct processing_module;
25
29#define MFCC_VAD_NOISE_INIT_FRAMES 100
30
34#define MFCC_VAD_NOISE_RISE_ALPHA 98
35
39#define MFCC_VAD_NOISE_RISE_ALPHA_FAST 655
40
44#define MFCC_VAD_ENERGY_THRESHOLD 2516582
45
49#define MFCC_VAD_HANGOVER_FRAMES 20
50
70
80int mfcc_vad_init(struct mfcc_vad_state *vad, int num_mel_bins, int32_t sample_rate,
81 struct processing_module *mod);
82
90int mfcc_vad_update(struct mfcc_vad_state *vad, const int32_t *mel_log);
91
92#endif /* __SOF_AUDIO_MFCC_MFCC_VAD_H__ */
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