SPRAAK
|
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) |
RMS based begin-endpoint-detection.
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.