コード例 #1
0
void aubio_hist_dyn_notnull (aubio_hist_t *s, fvec_t *input) {
  uint_t i;
  sint_t tmp = 0;
  smpl_t ilow = fvec_min(input);
  smpl_t ihig = fvec_max(input);
  smpl_t step = (ihig-ilow)/(smpl_t)(s->nelems);

  /* readapt */
  aubio_scale_set_limits (s->scaler, ilow, ihig, 0, s->nelems);

  /* recalculate centers */
  s->cent->data[0] = ilow + 0.5f * step;
  for (i=1; i < s->nelems; i++)
    s->cent->data[i] = s->cent->data[0] + i * step;

  /* scale */
  aubio_scale_do(s->scaler, input);

  /* reset data */
  fvec_zeros(s->hist);
  /* run accum */
  for (i=0;  i < input->length; i++) {
    if (input->data[i] != 0) {
      tmp = (sint_t)FLOOR(input->data[i]);
      if ((tmp >= 0) && (tmp < (sint_t)s->nelems))
        s->hist->data[tmp] += 1;
    }
  }
}
コード例 #2
0
smpl_t
aubio_beattracking_get_confidence (aubio_beattracking_t * bt)
{
    if (bt->gp) {
        return fvec_max (bt->acfout) / fvec_sum(bt->acfout);
    } else {
        return 0.;
    }
}
コード例 #3
0
ファイル: sorting.c プロジェクト: antran89/BoW_frameworks
float fvec_quantile (float *f, int n, int q)
{
  assert (n>0);
  if (n==1) return f[0];
  if (q==0) return fvec_min(f, n); /* any value */
  if (q>=n) return fvec_max(f, n);
  
  hoare_select_f (f, 0, n, q);

  float min_upper = f[q];
  int j;
  for (j = q + 1; j < n; j++)
    if (f[j] < min_upper)
      min_upper = f[j];
  
  return min_upper;
}