[PATCH] Add option to disable highpass-filter on non-lfe channels.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2017-08-12 0:27 GMT+05:00 Markus Ebner <markus-ebner at web.de>:
> On 08/11/2017 06:51 PM, Alexander E. Patrakov wrote:
>>
>> 2017-08-11 21:48 GMT+05:00 Alexander E. Patrakov <patrakov at gmail.com>:
>>>
>>> 2017-08-10 1:27 GMT+05:00 Markus Ebner <markus-ebner at web.de>:
>>>>
>>>> Added a new configuration option: remix-non-lfe-channels (default: yes),
>>>> which results in the non-lfe channels being highpass-filtered.
>>>> When set to false, the lfe channel is lowpass-filtered and the other
>>>> channels stay untouched.
>>>> Removing the low frequencies from speakers that support low frequencies
>>>> sounds awful.
>>>> The current behavior is the default, since this case is less likely than
>>>> speakers not playing well with low frequencies.
>>>
>>> I tend to reject the patch. In the use case with satellite speakers
>>> that are able to reproduce low frequencies, enabling LFE remixing (and
>>> thus the filter) is a user error.
>>
>> Also, the highpass filter on non-lfe channels was designed to filter
>> out exactly the same frequencies that were sent from the main channels
>> to LFE. I.e. "moved". With your patch, they will be "duplicated",
>> which is wrong.
>>
>>
> I'm not that knowledgeable regarding audio, so my reply represents what I
> think I know of the subject.
>
> I am not quite sure what the problem is. In the Computer Graphics field, the
> simple principle is: All's well that looks well.
> I thought that the same applied to audio. As long as it sounds good, why
> bother with the details?
>
> Most "cheap" 5.1 computer speakers exist of
> - 4 satellites (high to maybe center frequencies)
> - 1 center (center frequencies)
> - 1 subwoofer (low frequenciesa)
>
> Pulseaudio's lfe remix in its current form does exactly what is best for
> this setup, since only the subwoofer is able to represent low frequencies.

Well, except for the scaling factor for the audio moved into the
subwoofer. That's a known bug, but nobody among devs knows what's
correct.

> Whereas the satellites of high-class speaker-setups (like the "Teufel
> Theater 500 Surround 5.1 Set") support the full spectrum of frequencies.
> The satellite of the above mentioned setup ("Tower Speaker T 500 F 16") has
> dedicated woofers inside.
> And if I haven't made a mistake, driving this setup with the lfe-remix
> enabled will result in the towers' woofers to effectively be disabled.
> Why would I pay 1700â?¬ for a high-class setup if I can't properly drive its
> speakers?

Correct. The question is, again: why does one want lfe-remix enabled
in such setup?

You either want to reproduce low frequencies with woofers inside
satellites, or to move them to the subwoofer. But note that there is
no sharp transition between them, and that's important.

> Sure, this particular setup probably has an analog frequency-separation
> filter inside the subwoofer, but there are setups that haven't. In such a
> setup (without filter), disabling the lfe-remixer will lead to the subwoofer
> playing the whole frequency spectrum - which isn't that good of an idea. And
> not all analog filters are better than pulseaudios' (We tested a couple).
>
> Our particular setup is:
> - 2 x the box CL 110 Top MK II (90 - 19000Hz)
> - 1 x custom made subwoofer (without an analog frequency filter inside) (20
> - 140Hz)
> Comparing the unpatched pulseaudio (lfe remix on/off) does not sound good,
> while with the patch, it sounds much better (on).

If this is reproducible with a non-custom subwoofer (in a whole system
that passed the sales person approval and was tested with a non-PC
signal source), I accept the bug report, but not the solution. In this
custom case, I would call it a subwoofer design error. In other words,
if the system cannot be configured to sound well with an off-the-shelf
receiver (such as Onkyo TX-NR 636, which does not support filtering
only the subwoofer), I see no point in supporting it with PulseAudio.

Basically, no matter how good the separation filter is, there is a
frequency band (in PulseAudio's LR4 filter, that's approximately two
octaves) where the signal is reproduced both by the satellites and the
subwoofer. In this overlap area, the satellites and the subwoofer must
sound exactly(*) in-phase. That's why matching filters are required,
so that the delay introduced by them always differs by 360 degrees of
phase. And in this overlap area, in a good system, nether the
satellites nor the subwoofer must display any response roll-off or
changing phase delays. So the woofers inside satellites are indeed
properly driven even if LFE remixing is enabled.

(*) The "exactly" requirement is so that to minimize imbalance caused
by movements of the listener. Details here:
http://www.nextdigital.com.br/Linkwitz_%20AES%201976.pdf

What has happened in your system (with insufficient overlap of speaker
responses) is that the satellites themselves, via their acoustic
properties, took the role of the high-pass filter that you want to
disable in PulseAudio. That's valid, but in this case the subwoofer
must have a matching (and not random) filter inside. It's custom
anyway, so please add it (yes, I understand that you now have a
problem to match the frequency and phase responses that you don't know
exactly). You are just lucky that the two cascaded 2nd order
Butterworth filters sound well enough for you - but this might not be
the case for others.

See e.g. the manual for FinalSound S220 subwoofer:
http://pdfstream.manualsonline.com/f/fbaafad5-260a-4e7b-b31b-bb84f82c3050.pdf

It has the upper frequency of 200 Hz, a built-in cross-over filter,
and not only the cross-over frequency is switchable, but there are
other settings for good integration with the main speakers (the manual
pretty much assumes that FinalSound electrostatic panels will be used,
so when you see the word "panels", think "main speakers"). The manual
says that the cross-over type is 4th order Butterworth, but this is
not the same as two cascaded 2nd order Butterworth filters (also known
as LR4). And there are separate system setup procedures for the cases
where the filter inside the subwoofer is to be used as a crossover,
and where there is no crossover.

-- 
Alexander E. Patrakov


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux