[pulseaudio-discuss] Balance (was: Re: [PATCH 0/7] LFE filter patches)

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Wed Feb 25 08:36:22 PST 2015

On Wed, 2015-02-18 at 00:06 +0500, Alexander E. Patrakov wrote:
> 17.02.2015 17:29, David Henningsson wrote:
> > Changes since v1:
> >   - Fix according to Alexander's comments
> >   - A new patch has been added that removes dead code imported from Chrome OS.
> > For easier reviewing, I will also send a total of the first three patches.
> >
> > Also note that the current routing logic are not optimal, e g,
> > when on 2.1 speakers, plug headphones in, then unplug headphones again, the
> > result might be that the stereo profile is selected instead of the expected 2.1
> > profile. This is not an error with this patch set but might limit its usefulness.
> I think that it is convenient to write general thoughts inspired by but 
> not directly related to this patch set by replying to PATCH 0/7, so here 
> they are.
> There is one more usability limitation that comes to mind, and it is 
> also not new. Namely, there can exist a volume balance issue.
> For a smooth crossover, there must exist a region on the frequency 
> response curves of both satellites and the subwoofer where these curves 
> both are flat and match each other. In other words, overlap, overprint 
> each other, have exactly the same sensitivity not only at one frequency 
> but in a finite range. In the middle of this region, one places the 
> cross-over frequency. Unless it is specifically built to match, the 
> subwoofer will have a different sensitivity than a satellite. That's 
> also why hi-fi subwoofers (which can be used with different models of 
> satellite hi-fi speakers) have a hardware knob or a switch that changes 
> their sensitivity. And I cannot be sure either that a typical laptop 
> subwoofer matches its satellites perfectly out of the box (in other 
> words, in laptops, I intuitively expect "imbalance between subwoofer and 
> satellites" to happen more frequently than "imbalance between left and 
> right speakers") - and laptop subwoofers don't have such switch to 
> compensate.
> It would be interesting to see the actual frequency response of a laptop 
> with a subwoofer measured under both Linux and Windows. I will send the 
> scripts to David when they are ready - hopefully on weekends.
> In PulseAudio, a user can work around this hardware mismatch, if it 
> exists, by adjusting the LFE channel volume separately in pavucontrol 
> after unlocking the sliders.
> But what happens when the user then adjusts the volume using the systray 
> applet? In MATE, the applet does preserve the balance unless turned 
> completely down or completely up. In KDE, the mixer tray applet behaves 
> the same, but, if one clicks the tray icon, then the "Mixer" button in 
> the plasma popup, and adjusts the volume in that window, this will reset 
> all channels to the same level. If one uses pavucontrol, then again, 
> there is no easy way to adjust the overall volume while preserving the 
> deliberately-created difference between the channels.
> In other words, because balance is kept together with volume (as a 
> multi-channel volume), it is prone to being reset by dumb tools.
> More of such dumb tools will surely be created in the future, as 
> well-balanced headphones or desktop speakers represent the primary use 
> case. So - given this kind of fiasco, maybe it was a bad idea to export 
> multi-channel volume on sinks and sources, after all? Maybe it is a good 
> idea to think again how to configure and store various settings that 
> primarily compensate for hardware deficiency, are set once and must be 
> preserved? And I mean not only balance, but, in multichannel setups, 
> per-channel delays (of the order of a few milliseconds) which are also 
> important but currently missing. And ideally, when someone implements 
> this properly, per-device equalizer settings and/or an impulse response 
> for digital room correction.

I'm working on the "volume control" concept, which will make it harder
to accidentally mess up the balance (assuming that people will actually
use the new interface; removing the old interface is not an option).
Volume controls will have separate "overall volume" and per-channel
balance attributes.

As for the other kinds of "deficiency compensation" controls that you
mention, I don't have any particular plans for those. Feel free to
suggest something if you have something in mind.


More information about the pulseaudio-discuss mailing list