[pulseaudio-discuss] LFE remixing

Alexander E. Patrakov patrakov at gmail.com
Sun Nov 9 10:10:15 PST 2014


06.11.2014 15:50, Alexander E. Patrakov wrote:
> 06.11.2014 15:39, David Henningsson wrote:
>>
>>
>> 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. :-)
>
> That's OK.
>
>> Did you end up doing anything more with your existing code? Need a hand
>> anywhere?
>
> No. In fact, I have not looked at PulseAudio code (except Peter's 
> patches) since the conference, and I don't have enough free time. The 
> earliest date when I can continue is this Sunday.
>

I am sorry, I could not find enough time today either. So, please go 
without me.

-- 
Alexander E. Patrakov


More information about the pulseaudio-discuss mailing list