On 02/05/24 at 09:10, Alexandre Rossi wrote:
What's bothering me is that you get sound from multiple speakers while
instructing out on only one.
The usual issues of these setups with surround analog out are:
- channel mapping issues (driver/hardware mismatch)
- software downmixing to stereo
There are other usual issues with surrount digital out but this is not
your setup.
You can have a look at [1] for software fixes on this.
[1]https://alsa.opensrc.org/SurroundSound
The link you posted it shows rather outdated fixes, it talked about Jackd
daemon and surround, but I have pulseaudio daemon, maybe I've pulseaudio
daemon misconfiguration
My understanding is that pulseaudio uses alsa for kernel interface and
that speaker-test uses alsa directly. So if one cannot get speaker-test
to sound right, it cannot work with pulseaudio. That why I suggest workarounds
in alsa conf (asoundrc).
I tried several configurations of ~/.asoundrc in these days but nothing
works with "speaker-test". Well some configurations let "aplay" to use
rear-left, rear-right, front-center speakers but "speaker-test" never
sends sound to front-center, rear-left, rear-right and LFE with this
command:
~$ LC_ALL=C speaker-test -c 6 -D surround51 -t wav
speaker-test 1.2.8
Playback device is surround51
Stream parameters are 48000Hz, S16_LE, 6 channels
WAV file(s)
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 64 to 349504
Period size range from 32 to 174752
Using max buffer size 349504
Periods = 4
was set period_size = 174752
was set buffer_size = 349504
0 - Front Left
4 - Front Center
1 - Front Right
3 - Rear Right
2 - Rear Left
5 - LFE
Time per period = 21.908826
0 - Front Left
^C 4 - Front Center
Transfer failed: Bad address
In place of "surround51" I've set the pcm.XXXXX specified in
~/.asoundrc trying so several configurations.
Just now, checking the ALSA configuration in /etc/alsa/conf.d/ I found
the 99-pulse.conf file:
~# cat /etc/alsa/conf.d/99-pulse.conf
# PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
# default output for applications using alsa when pulseaudio is running.
hook_func.pulse_load_if_running {
lib "libasound_module_conf_pulse.so"
func "conf_pulse_hook_load_if_running"
}
@hooks [
{
func pulse_load_if_running
files [
"/usr/share/alsa/pulse-alsa.conf"
]
errors false
}
]
Does Debian use Pulseaudio daemon as default output for ALSA
applications? Could it be a Pulseaudio misconfiguration? Should I try to
uninstall it or how can I stop Pulseaudio? If I do "killall pulseaudio"
it re-spawns immediately and "systemctl" doesn't work:
~# systemctl stop pulseaudio
Failed to stop pulseaudio.service: Unit pulseaudio.service not loaded.
Any help it's very appreciated, thanks in advance.
--
Franco Martelli