Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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)
}