[pulseaudio-discuss] LFE remixing

David Henningsson david.henningsson at canonical.com
Thu Nov 6 02:39:48 PST 2014



On 2014-09-30 15:59, Alexander E. Patrakov wrote:
> 30.09.2014 19:07, David Henningsson wrote:
>>
>>
>> On 2014-09-26 14:17, Tanu Kaskinen wrote:
>>> A summary of my proposal:
>>>
>>> To add LFE low-pass filtering, just hack the current remixer
>>> implementation, no need for interface changes anywhere.
>>
>> Actually, I think this could be good enough, at least as a first step.
>>
>> Do you think it would be okay to:
>>
>>   - Implement a LR2 or LR4 filter by "hacking the current remixer
>> implementation"
>
> For me, it would be okay, but I would prefer a slightly more complex
> plan, purely to avoid the blame of the form "you demand fully rewindable
> code everywhere from others but just wrote an LFE-remixer that doesn't
> handle rewinds correctly". The plan is:
>
> 1. Implement functions to calculate the coefficients of the required IIR
> filters for LR2 and/or LR4.
>
> 2. Implement, in a separate file, some set of functions that would allow
> one to apply an arbitrary matrix of IIR filters on a memblockq. Make
> sure they are fully rewindable (that's the PR part), write a test.
>
> 3. Connect functions from (2) to the existing remixer implementation. If
> it turns out that it is impossible to form the rewind requests
> correctly, write a TODO item.
>
> (2), except the test, already sits on my laptop since the previous year
> in the form of a virtual sink. I just need to refactor it from the
> "parallel biquads" to the "chain of biquads" form (because both LR2 and
> LR4 have pairs of identical poles which are inexpressible in the
> parallel-biquads formulation) and remove the sink code.

Reviving this thread due to renewed interest from management. In short, 
we should probably go ahead and write this filter. I can certainly try 
to do it, but I assume you will just complain about me breaking the 
math. :-)

Did you end up doing anything more with your existing code? Need a hand 
anywhere?

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the pulseaudio-discuss mailing list