int main (void)
{
  
  aubio_filter_t * f;

  uint_t rates[] = { 8000, 16000, 22050, 44100, 96000, 192000};
  uint_t nrates = 6;
  uint_t samplerate, i = 0;

  for ( samplerate = rates[i]; i < nrates ; i++ ) {
    f = new_aubio_filter_a_weighting (samplerate);
    del_aubio_filter (f);

    f = new_aubio_filter (7);
    aubio_filter_set_a_weighting (f, samplerate);
    del_aubio_filter (f);
  }

  // samplerate unknown
  f = new_aubio_filter_a_weighting (4200);
  del_aubio_filter (f);

  // order to small
  f = new_aubio_filter (2);
  aubio_filter_set_a_weighting (f, samplerate);
  del_aubio_filter (f);

  // order to big
  f = new_aubio_filter (12);
  aubio_filter_set_a_weighting (f, samplerate);
  del_aubio_filter (f);

  return 0;
}
Ejemplo n.º 2
0
int main (void)
{
  uint_t win_s = 16; // window size
  uint_t impulse_at = win_s / 2;
  fvec_t *in = new_fvec (win_s); // input buffer
  fvec_t *out = new_fvec (win_s); // input buffer

  aubio_filter_t *o = new_aubio_filter_c_weighting (44100);
  in->data[impulse_at] = 0.5;
  fvec_print (in);
  aubio_filter_do (o, in);
  fvec_print (in);
  del_aubio_filter (o);

  o = new_aubio_filter_a_weighting (32000);
  in->data[impulse_at] = 0.5;
  fvec_print (in);
  aubio_filter_do_outplace (o, in, out);
  fvec_print (out);

  aubio_filter_set_a_weighting (o, 32000);
  in->data[impulse_at] = 0.5;
  fvec_print (in);
  aubio_filter_do_filtfilt (o, in, out);
  fvec_print (out);

  del_fvec (in);
  del_fvec (out);
  del_aubio_filter (o);
  aubio_cleanup ();

  return 0;
}
Ejemplo n.º 3
0
int main ()
{
  uint_t win_s = 64; // window size

  // create biquad filter with `b0`, `b1`, `b2`, `a1`, `a2`
  aubio_filter_t * o = new_aubio_filter_biquad(0.3,0.2,0.1,0.2,0.3);

  fvec_t * in_vec  = new_fvec (win_s); // input buffer
  fvec_t * tmp_vec = new_fvec (win_s); // temporary buffer
  fvec_t * out_vec = new_fvec (win_s); // output buffer

  uint_t times = 100;
  while ( times-- ) {
    // copy to out, then filter out
    aubio_filter_do_outplace(o, in_vec, out_vec);
    // in-place filtering
    aubio_filter_do(o, in_vec);
    // in-place filtering
    aubio_filter_do_filtfilt(o, in_vec, out_vec);
    fvec_print(in_vec);
  }

  // memory clean-up, one for each new
  del_aubio_filter(o);
  del_fvec(in_vec);
  del_fvec(tmp_vec);
  del_fvec(out_vec);

  return 0;
}
Ejemplo n.º 4
0
void
del_aubio_pitch (aubio_pitch_t * p)
{
  switch (p->type) {
    case aubio_pitcht_yin:
      del_fvec (p->buf);
      del_aubio_pitchyin (p->p_object);
      break;
    case aubio_pitcht_mcomb:
      del_aubio_pvoc (p->pv);
      del_cvec (p->fftgrain);
      del_aubio_filter (p->filter);
      del_aubio_pitchmcomb (p->p_object);
      break;
    case aubio_pitcht_schmitt:
      del_fvec (p->buf);
      del_aubio_pitchschmitt (p->p_object);
      break;
    case aubio_pitcht_fcomb:
      del_fvec (p->buf);
      del_aubio_pitchfcomb (p->p_object);
      break;
    case aubio_pitcht_yinfft:
      del_fvec (p->buf);
      del_aubio_pitchyinfft (p->p_object);
      break;
    case aubio_pitcht_specacf:
      del_fvec (p->buf);
      del_aubio_pitchspecacf (p->p_object);
      break;
    default:
      break;
  }
  AUBIO_FREE (p);
}
Ejemplo n.º 5
0
aubio_filter_t * new_aubio_filter_c_weighting (uint_t samplerate) {
  aubio_filter_t * f = new_aubio_filter(5);
  if (aubio_filter_set_c_weighting(f,samplerate) != AUBIO_OK) {
    del_aubio_filter(f);
    return NULL;
  }
  return f;
}
Ejemplo n.º 6
0
static void
Py_filter_del (Py_filter * self)
{
  del_aubio_filter (self->o);
  Py_TYPE(self)->tp_free ((PyObject *) self);
}
Ejemplo n.º 7
0
static void
Py_filter_del (Py_filter * self)
{
  del_aubio_filter (self->o);
  self->ob_type->tp_free ((PyObject *) self);
}