aubio 0.4.9
temporal/test-filter.c
#include <aubio.h>
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
if (new_aubio_filter(0)) return 1;
if (aubio_filter_get_samplerate(o) != 44100) return 1;
if (aubio_filter_set_c_weighting (o, -1) == 0) return 1;
if (aubio_filter_set_c_weighting (0, 32000) == 0) return 1;
in->data[impulse_at] = 0.5;
fvec_print (in);
aubio_filter_do (o, in);
fvec_print (in);
if (aubio_filter_set_a_weighting (o, -1) == 0) return 1;
if (aubio_filter_set_a_weighting (0, 32000) == 0) return 1;
in->data[impulse_at] = 0.5;
fvec_print (in);
fvec_print (out);
in->data[impulse_at] = 0.5;
fvec_print (in);
fvec_print (out);
del_fvec (in);
del_fvec (out);
return 0;
}
aubio_filter_t * new_aubio_filter_a_weighting(uint_t samplerate)
create new A-design filter
uint_t aubio_filter_set_a_weighting(aubio_filter_t *f, uint_t samplerate)
set feedback and feedforward coefficients of a A-weighting filter
Global aubio include file.
uint_t aubio_filter_set_c_weighting(aubio_filter_t *f, uint_t samplerate)
set feedback and feedforward coefficients of a C-weighting filter
aubio_filter_t * new_aubio_filter_c_weighting(uint_t samplerate)
create new C-design filter
aubio_filter_t * new_aubio_filter(uint_t order)
create new filter object
struct _aubio_filter_t aubio_filter_t
Digital filter.
Definition: filter.h:72
void del_aubio_filter(aubio_filter_t *f)
delete a filter object
uint_t aubio_filter_get_samplerate(const aubio_filter_t *f)
get sampling rate of the filter
void aubio_filter_do(aubio_filter_t *f, fvec_t *in)
filter input vector (in-place)
void aubio_filter_do_filtfilt(aubio_filter_t *f, fvec_t *in, fvec_t *tmp)
filter input vector forward and backward
void aubio_filter_do_outplace(aubio_filter_t *f, const fvec_t *in, fvec_t *out)
filter input vector (out-of-place)
fvec_t * new_fvec(uint_t length)
fvec_t buffer creation function
void del_fvec(fvec_t *s)
fvec_t buffer deletion function
void fvec_print(const fvec_t *s)
print out fvec data
void aubio_cleanup(void)
clean up cached memory at the end of program
Buffer for real data.
Definition: fvec.h:67
smpl_t * data
data vector of length fvec_t.length
Definition: fvec.h:69
unsigned int uint_t
unsigned integer
Definition: types.h:60