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; }
static PyObject * Py_filter_set_a_weighting (Py_filter * self, PyObject *args) { uint_t err = 0; uint_t samplerate; if (!PyArg_ParseTuple (args, "I", &samplerate)) { return NULL; } err = aubio_filter_set_a_weighting (self->o, samplerate); if (err > 0) { PyErr_SetString (PyExc_ValueError, "error when setting filter to A-weighting"); return NULL; } Py_RETURN_NONE; }