void estimate_normalization_parameters(norm_info *channorm, spect_dist_info **chandata, int dimen) { int ii, adjust; ASSERT(channorm); ASSERT(chandata); ASSERT(dimen <= channorm->dim); for (ii = 0; ii < dimen; ii++) if (chandata[ii]) { evaluate_parameters(chandata[ii]); /* The additive expression is due to ** the normalization taking place before the ** utterance object is created */ adjust = mean_normalize_data(chandata[ii], 0); /* channorm->adjust[ii]= adjust; */ #if USE_MEDIAN shift_distribution_counts(chandata[ii], adjust); #endif shift_parameters(chandata[ii], adjust); #if NORM_IN_IMELDA channorm->imelda_adjust[ii] += adjust; #else channorm->adjust[ii] += adjust; #endif } #if NORM_IN_IMELDA channorm->adj_valid = True; #if DEBUG log_report("NORM IML: "); for (ii = 0; ii < channorm->dim; ii++) log_report("%d ", channorm->imelda_adjust[ii]); log_report("\n"); #endif #else channorm->adj_valid = False; #if DEBUG log_report("NORM ADJ: "); for (ii = 0; ii < channorm->dim; ii++) log_report("%d ", channorm->adjust[ii]); log_report("\n"); #endif #endif return; }
int CA_CalculateUtteranceStatistics(CA_Utterance *hUtt, int start, int end) { TRY_CA_EXCEPT int ii, frames = 0; frames = get_background_statistics(hUtt->data.gen_utt.frame, -start, -end, hUtt->data.gen_utt.backchan, hUtt->data.gen_utt.num_chan, 1); /* log_report ("UTT (%d): ", frames); */ for (ii = 0; ii < hUtt->data.gen_utt.num_chan; ii++) { evaluate_parameters(hUtt->data.gen_utt.backchan[ii]); /* log_report ("%d ", hUtt->data.gen_utt.backchan[ii]->mean); */ } /* log_report ("\n");*/ return (frames); BEG_CATCH_CA_EXCEPT END_CATCH_CA_EXCEPT(hUtt) }