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"); }
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); } }