Group PJMEDIA_SILENCEDET¶
-
group
PJMEDIA_SILENCEDET
Adaptive Silence Detector.
Typedefs
-
typedefPJ_BEGIN_DECL 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.
-