2013/3/27 Justin Chudgar <[email protected]>:
> https://github.com/justinzane/pulseaudio/blob/master/src/modules/module-lfe-lp.c
>
> First, thanks to both of you for helping me get this far. I've got a mostly
> correct (I think) filter setup based on Alexander's feedback. Now I'm trying
> to
> get rewind buffering done. I've read the wiki page that Tanu sent and I've
> been
> talking to ohsix on IRC.
Sorry, this does not look like an LR-4 filter. For each channel, you
need to make both a twice-lowpass-filtered and twice-highpass-filtered
version, but you make only one of the filtered versions.
Also, this is wrong:
lp = biquad(&(u->lpdt[chan_idx]), *(u->lpfs), cur_sample);
*dst_sample = biquad(&(u->lpdt[chan_idx]), *(u->lpfs), &lp);
You are passing two samples through the same biquad, while you need to
have two biquads and pass the output sample from the first one to the
second one.
I repeat:
1. Lowpass-filter each channel twice.
2. Highpass-filter each channel twice.
3. Combine the 2N outputs obtained at steps 1 and 2, as needed.
Note that at no moment you need an explicitly-constructed allpass biquad filter.
--
Alexander E. Patrakov
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss