SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
rmsbed.c File Reference

RMS based begin-endpoint-detection. More...

Functions

void spr_rms_bed (int nfr, float lrms[], SprGHFitGaussMix *gmix, float thresh, int min_gaplen, int min_seglen, int extend, int seg1[], int seg2[], int *nseg, float min_snr)
 

Detailed Description

RMS based begin-endpoint-detection.

Author
Dirk Van Compernolle & Fei Xie
Date
18 Nov 1991

rmsbed() implements a begin-end-point detection algorithm based on bimodal histogram fitting of rms log energy.

The number of segments is returned. 'seg1[i]' is the initial frame number of speech segment and 'seg2[i]' is the final frame number.

The steps in the algorithm are:

        0.1. energy histogram computation + fitting
        0.2. energy threshold determination
        1. exclusion of energy strong points at beginning or end
        2. primary speech segment construction
        3. elimination of noise gaps shorter than 'min_gaplen'
        4. elimination of speech segments shorter than 'min_seglen'
        5. extension of begin and endpoint with 'extend' frames

Steps 0.1 and 0.2 should be done before calling this routine.

Use spr_rms_ana() to compute the lrms[] array and the gmix histogram fits.

See Also
spr_rms_ana()