Пример #1
0
static void
feat_agc(feat_t *fcb, mfcc_t **mfc, int32 nfr, int32 beginutt, int32 endutt)
{
    agc_type_t agc_type = fcb->agc;

    if (!(beginutt && endutt)
        && agc_type != AGC_NONE) /* Only agc_emax in block computation mode. */
        agc_type = AGC_EMAX;

    switch (agc_type) {
    case AGC_MAX:
        agc_max(fcb->agc_struct, mfc, nfr);
        break;
    case AGC_EMAX:
        agc_emax(fcb->agc_struct, mfc, nfr);
        if (endutt)
            agc_emax_update(fcb->agc_struct);
        break;
    case AGC_NOISE:
        agc_noise(fcb->agc_struct, mfc, nfr);
        break;
    default:
        ;
    }
    cep_dump_dbg(fcb, mfc, nfr, "After AGC");
}
Пример #2
0
void 
feat_update_stats(feat_t *fcb)
{
    if (fcb->cmn == CMN_LIVE) {
        cmn_live_update(fcb->cmn_struct);
    }
    if (fcb->agc == AGC_EMAX || fcb->agc == AGC_MAX) {
	agc_emax_update(fcb->agc_struct);	
    }
}