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; }
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; }
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; }
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); }
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; }
static void Py_filter_del (Py_filter * self) { del_aubio_filter (self->o); Py_TYPE(self)->tp_free ((PyObject *) self); }
static void Py_filter_del (Py_filter * self) { del_aubio_filter (self->o); self->ob_type->tp_free ((PyObject *) self); }