예제 #1
0
파일: pitch.c 프로젝트: EQ4/aubio-mod
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);
}
예제 #2
0
int main(){
        /* allocate some memory */
        uint_t win_s      = 1024;                       /* window size */
        uint_t hop_s      = win_s/4;                    /* hop size */
        cvec_t * in       = new_cvec (win_s); /* input buffer */
        fvec_t * out      = new_fvec (1); /* input buffer */

        aubio_pitchmcomb_t * o  = new_aubio_pitchmcomb(win_s, hop_s);
        uint_t i = 0;

        while (i < 1000) {
          aubio_pitchmcomb_do (o,in, out);
          i++;
        };

        del_aubio_pitchmcomb(o);
        del_cvec(in);
        del_fvec(out);
        aubio_cleanup();

        return 0;
}