Package: pavucontrol
Version: 5.0-2
Severity: normal
X-Debbugs-Cc: [email protected]
Dear Maintainer,
I have a 5.1 speaker system. The speakers are not and cannot be equally
distant, so I set different volumes for each speaker in the sink USB Audio
Speakers. Since I find no way to set a virtual sink on the input of this sink
that enforces the loudness ratios on the 6 channels, I use
pactl -- set-sink-volume @DEFAULT_SINK@ 55% 55% 70% 100% 89% 100% 100% 100%
to set these ratios. Note that the front left and front right channels are set
to the lowest volume and the rear left to the next lowest volume and that these
are -15.58 dB, -15.58 dB, and -9.29 dB, respectively.
I have a USB volume control that sends mute, volUp, and volDown keyboard
events. Since I want to retain the relative volumes, I have set these keyboard
events to, respectively,
pactl -- set-sink-mute @DEFAULT_SINK@ toggle
pactl -- set-sink-volume @DEFAULT_SINK@ +1dB
pactl -- set-sink-volume @DEFAULT_SINK@ -1dB
(Offsetting by % or "magic pulseaudio" cubic values does not retain relative
loudness.) I'd like to change the volume by more that only +/- 1 dB, but using
a larger increment with rapid volume changes is likely to exhibit the following
defect.
When I turn the volume down far enough by this method (or equivalently using
the above pactl commands repeatedly), so that the lowest three volumes are
-222.15 dB (although the same number of dB should have been subtracted from all
three) and the remainder are greater than -211 dB, turning the volume back up
does not restore the relative loudness of the three channels that all clamped
at -222.15 dB. In fact, if it is reduced until all volumes clamp at -222.15
dB, all volumes raise together. In short, arithmetic does not work:
subtracting and then adding the same numbers of 1 dBs does not return the
speakers to the same relative loudness.
A similar behaviour happens when hitting the upper clamp at 3276800%(270.93
db), destroying speaker balance.
I have not perfomed this test on a 2-channel output, but I suspect one could
recreate the behaviour in that simpler setting with the two channels set to
wildly different relative volumes, then pushing the volume up or down far
enough to cause clamping, eliminating the difference.
Interestingly, until recently, the bahaviour in pavucontrol was to display
"0%(-\infty dB)" when volumes got below about -120 dB, with the behaviour that
once a finite number of negative increments had somehow sent the volume to
-\infty, it was permanently trapped there and no amount of pactl ... +1dB would
ever change that channel's volume again. Additionally, this older version
would upper-clamp at 150%, distorting balance when quickly raising volume
overshot this bound.
PulseAudio does not document a virtual sink that could permanently store the
attenuations to balance speakers. pavucontrol displays the failure of
PulseAudio to retain speaker balance and provides no mechanism to lock-in or
enforce this balance. pavucontrol is the only UI suitable for acquiring these
ratios from users, but has no method to do so.
-- System Information:
Debian Release: 12.1
APT prefers stable
APT policy: (900, 'stable'), (500, 'stable-updates'), (500,
'stable-security'), (400, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.1.0-10-amd64 (SMP w/48 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages pavucontrol depends on:
ii libatkmm-1.6-1v5 2.28.3-1
ii libc6 2.36-9+deb12u1
ii libcanberra-gtk3-0 0.30-10
ii libcanberra0 0.30-10
ii libgcc-s1 12.2.0-14
ii libglib2.0-0 2.74.6-2
ii libglibmm-2.4-1v5 2.66.5-2
ii libgtk-3-0 3.24.37-2
ii libgtkmm-3.0-1v5 3.24.7-1
ii libjson-glib-1.0-0 1.6.6-1
ii libpulse-mainloop-glib0 16.1+dfsg1-2+b1
ii libpulse0 16.1+dfsg1-2+b1
ii libsigc++-2.0-0v5 2.12.0-1
ii libstdc++6 12.2.0-14
Versions of packages pavucontrol recommends:
ii pulseaudio 16.1+dfsg1-2+b1
pavucontrol suggests no packages.
-- no debconf information
_______________________________________________
pkg-pulseaudio-devel mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel