psyn/filter.h

33 lines
760 B
C
Raw Normal View History

2010-01-20 07:49:38 +00:00
struct filter_t
{
double k;
double r;
double v_l;
double v_r;
double last_in_l;
double last_in_r;
double last_out_l;
double last_out_r;
};
2010-01-20 07:49:38 +00:00
struct bw_filter_t
{
double a1;
double a2;
double a3;
double b1;
double b2;
double in1_l, in2_l, out1_l, out2_l;
double in1_r, in2_r, out1_r, out2_r;
};
void filter_init_rc(struct filter_t *filter, double R, double C);
void filter_init_freq(struct filter_t *filter, double freq);
void filter_run_lp(struct filter_t *filter, double left, double right);
void filter_run_hp(struct filter_t *filter, double left, double right);
2010-01-20 07:49:38 +00:00
void bw_filter_init_lp(struct bw_filter_t *f, double freq, double resonance);
void bw_filter_run(struct bw_filter_t *f, double in_l, double in_r, double *out_l, double *out_r);