Group PJMEDIA_SILENCEDET
- group PJMEDIA_SILENCEDET
Adaptive Silence Detector.
Typedefs
-
typedef struct pjmedia_silence_det pjmedia_silence_det
Opaque declaration for silence detector.
Functions
-
pj_status_t pjmedia_silence_det_create(pj_pool_t *pool, unsigned clock_rate, unsigned samples_per_frame, pjmedia_silence_det **p_sd)
Create voice activity detector with default settings. The default settings are set to adaptive silence detection with the default threshold.
- Parameters:
pool – Pool for allocating the structure.
clock_rate – Clock rate.
samples_per_frame – Number of samples per frame. The clock_rate and samples_per_frame is only used to calculate the frame time, from which some timing parameters are calculated from.
p_sd – Pointer to receive the silence detector instance.
- Returns:
PJ_SUCCESS on success.
-
pj_status_t pjmedia_silence_det_set_name(pjmedia_silence_det *sd, const char *name)
Set silence detector name to identify the particular silence detector instance in the log.
- Parameters:
sd – The silence detector.
name – Name.
- Returns:
PJ_SUCCESS on success.
-
pj_status_t pjmedia_silence_det_set_fixed(pjmedia_silence_det *sd, int threshold)
Set the sd to operate in fixed threshold mode. With fixed threshold mode, the threshold will not be changed adaptively.
- Parameters:
sd – The silence detector
threshold – The silence threshold, or -1 to use default threshold.
- Returns:
PJ_SUCCESS on success.
-
pj_status_t pjmedia_silence_det_set_adaptive(pjmedia_silence_det *sd, int threshold)
Set the sd to operate in adaptive mode. This is the default mode when the silence detector is created.
- Parameters:
sd – The silence detector
threshold – Initial threshold to be set, or -1 to use default threshold.
- Returns:
PJ_SUCCESS on success.
-
pj_status_t pjmedia_silence_det_set_params(pjmedia_silence_det *sd, int before_silence, int recalc_time1, int recalc_time2)
Set other silence detector parameters.
- Parameters:
sd – The silence detector
before_silence – Minimum duration of silence (in msec) before silence is reported. If -1 is specified, then the default value will be used. The default is 400 msec.
recalc_time1 – The interval (in msec) to recalculate threshold in non-silence condition when adaptive silence detection is set. If -1 is specified, then the default value will be used. The default is 4000 (msec).
recalc_time2 – The interval (in msec) to recalculate threshold in silence condition when adaptive silence detection is set. If -1 is specified, then the default value will be used. The default value is 2000 (msec).
- Returns:
PJ_SUCCESS on success.
-
pj_status_t pjmedia_silence_det_disable(pjmedia_silence_det *sd)
Disable the silence detector.
- Parameters:
sd – The silence detector
- Returns:
PJ_SUCCESS on success.
-
pj_bool_t pjmedia_silence_det_detect(pjmedia_silence_det *sd, const pj_int16_t samples[], pj_size_t count, pj_int32_t *p_level)
Perform voice activity detection on the given input samples. This function uses pjmedia_calc_avg_signal() and pjmedia_silence_det_apply() for its calculation.
- Parameters:
sd – The silence detector instance.
samples – Pointer to 16-bit PCM input samples.
count – Number of samples in the input.
p_level – Optional pointer to receive average signal level of the input samples.
- Returns:
Non zero if signal is silence.
-
pj_int32_t pjmedia_calc_avg_signal(const pj_int16_t samples[], pj_size_t count)
Calculate average signal level for the given samples.
- Parameters:
samples – Pointer to 16-bit PCM samples.
count – Number of samples in the input.
- Returns:
The average signal level, which simply is total level divided by number of samples.
-
pj_bool_t pjmedia_silence_det_apply(pjmedia_silence_det *sd, pj_uint32_t level)
Perform voice activity detection, given the specified average signal level.
- Parameters:
sd – The silence detector instance.
level – Signal level.
- Returns:
Non zero if signal is silence.
-
typedef struct pjmedia_silence_det pjmedia_silence_det