[pulseaudio-discuss] enable-lfe-remixing
Alexander E. Patrakov
patrakov at gmail.com
Wed Sep 3 05:28:06 PDT 2014
03.09.2014 16:47, David Henningsson wrote:
> Hi,
>
> As you might know, I'm trying to make life a little bit easier for
> laptops with a built-in subwoofer.
>
> Part of that is to revisit our "enable-lfe-remixing" setting, which is
> currently disabled by default.
>
> This means that people playing back stereo material, will, by default,
> complain that their speakers sound more tinny than on Windows.
>
> 1. I understand that there might be reasons we have it disabled by
> default, but it would be good to have those reasons lined up. What are
> those reasons really?
Some subwoofers object to high frequencies being fed to them - they
produce distorted sound. Also, if regular speakers reproduce low
frequencies well, the end result is that low frequencies are reproduced
too well (because they are reproduced twice).
> 2. Should enable-lfe-remixing be a global setting? Or should it be
> configured per port? Per profile?
Definitely not global, not sure about the other options.
> 3. Should it happen that I will end up having to write a low/hipass
> filter for properly separating LFE from main speaker frequencies, what
> are your recommendations? I don't think we have a module we can use, but
> are there finished implementations in libraries that we can just try to
> import into PA? Or do we need to start over from scratch? Has anybody (e
> g Alexander) done any research on this topic?
There was research in the threads here:
http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-March/016500.html
http://lists.freedesktop.org/archives/pulseaudio-discuss/2013-April/016836.html
Basically, the conclusion is that the math is known, and simple enough
so that I think you can implement it yourself faster than searching for
a suitable third-party implementation. And, when I start to insist on
rewindability of everything implementable in a rewindable fashion, you
will have no choice anyway except to implement this yourself or review a
patch from me or from someone else. (And I do plan to work on this after
discussing channel remixers in general with Tanu)
All you need is an LR2 or LR4 cross-over filter. There is a GPLed (v2
only) implementation of LR4 in AC3Filter, but it is not a library, so
not really suitable except as a reference.
Here is the theory:
http://en.wikipedia.org/wiki/Linkwitz%E2%80%93Riley_filter
Here is the code:
http://www.ac3filter.net/repo/valib/file/49e0393398e6/valib/iir
We can discuss this further or hack a prototype in Dusseldorf.
--
Alexander E. Patrakov
More information about the pulseaudio-discuss
mailing list