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

Reply via email to